gpt4 book ai didi

android - tesseract v3.03 渲染带有可搜索文本示例的 PDF

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:38:48 25 4
gpt4 key购买 nike

来自tesseract v3.03 's release note , tesseract现在支持使用可搜索文本呈现 PDF 输出,但我不知道如何在我的代码中使用此功能。
目前我使用 tess-two对于我的 Android 应用程序,那么我只是想知道此功能是否适用于 Android?

如果你能给我一个使用 tesseract 的例子就太好了api 来呈现 pdf,然后我将尝试为 tess-two 移植缺失的函数图书馆。
提前致谢。

P/s:我可以看到 pdfrenderer可以处理渲染 pdf 输出的文件,但我不知道如何将它与基本 api 一起应用。

更新:这是我的尝试:

 tesseract::TessResultRenderer* renderer = new tesseract::TessPDFRenderer(nat->api.GetDatapath());
__android_log_print(ANDROID_LOG_ERROR, "Test_tesseract", "data path = %s", nat->api.GetDatapath());
if (!nat->api.ProcessPages(c_file_name, NULL, 0, renderer)) {
__android_log_print(ANDROID_LOG_ERROR, "Test_tesseract", "process page failed");
delete renderer;
return;
}

FILE* fout = fopen(c_pdf_file_name, "wb");
if (fout == NULL) {
__android_log_print(ANDROID_LOG_ERROR, "Test_tesseract", "Cannot create output file %s\n", c_pdf_file_name);
delete renderer;
return;
}

const char* data;
int dataLength;

bool boolValue = renderer->GetOutput(&data, &dataLength);
if (boolValue) {
fwrite(data, 1, dataLength, fout);
if (fout != stdout)
fclose(fout);
else
clearerr(fout);
}else{
__android_log_print(ANDROID_LOG_ERROR, "Test_tesseract", "Cannot get output file");
}

delete renderer;

我的代码在 ProcessPages 失败了方法。写日志后(我在ndk调试有问题),发现pdfrender BeginDocumentTessBaseAPI::ProcessPages 中始终返回 false baseapi.cpp的方法| :

if (renderer && !renderer->BeginDocument(kUnknownTitle)) {
success = false;
}

我错过了什么吗?

P/s:我用tess-two , 哪个更喜欢 baseapicapi

最佳答案

内容如下:

TessResultRenderer renderer = api.TessPDFRendererCreate(dataPath);
api.TessBaseAPIProcessPages1(handle, image, null, 0, renderer);
PointerByReference data = new PointerByReference();
IntByReference dataLength = new IntByReference();
api.TessResultRendererGetOutput(renderer, data, dataLength);
byte[] bytes = data.getValue().getByteArray(0, dataLength);
// then write bytes array to a file with PDF extension.

如果您在遵循代码时遇到问题,请查看 this post 中的渲染器示例.

关于android - tesseract v3.03 渲染带有可搜索文本示例的 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21719708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com