在 Android 中使用 Tesseract 创建可搜索的 pdf

问题描述

我的客户聘请我创建一个 Android 应用程序,该应用程序将使用 Tesseract 对图像执行 Ocr 以将其转换为可搜索的 pdf。

目前能够使用此代码从图像中提取文本;

  String extractText(String imagePath)
  {
  dataPath= Environment.getExternalStorageDirectory().toString() + "/Android/data/" + appContext.getPackageName() +  "/"; 
    File tessdata = new File(dataPath); 
   if (!tessdata.exists() || !tessdata.isDirectory())
   {
       throw new IllegalArgumentException("Data path must contain subfolder tessdata!");   
} 
     Bitmap image= BitmapFactory.decodeFile(imagePath);
  TessBaseAPI baseApi = new TessBaseAPI();
  baseApi.init(dataPath,"eng"); 

baseApi.setimage(image);
      String recognizedText = baseApi.getUTF8Text();
      baseApi.end();


      return recognizedText;
  }

上面的代码帮助我准确地将图像上的文本作为字符串获取,但我不知道如何使用此文本创建可搜索的 pdf。

解决方法

getUTF8Text 仅返回纯文本。您需要使用 TessPDFRenderer API 进行 PDF 输出。

https://github.com/tesseract-ocr/tesseract/tree/master/src/api