问题描述
我的客户聘请我创建一个 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