Tesseract v3.03 рендеринг PDF с возможностью поиска текста

Из примечания о выпуске tesseract v3.03 tesseract теперь поддерживает вывод PDF-файла с текстом, доступным для поиска, но я не знаю, как использовать эту функцию в моем коде.
В настоящее время я использую tess-2 для своего приложения для Android, тогда мне просто интересно, может ли эта функция работать для Android?

Было бы здорово, если бы вы могли привести мне пример, который использует tesseract api для рендеринга pdf, а затем я попытаюсь tess-two отсутствующие функции для библиотеки 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 методом ProcessPages . После записи журнала (у меня проблема с отладкой в ​​ndk), я обнаружил, что файл BeginDocument всегда возвращает false в TessBaseAPI::ProcessPages baseapi.cpp :

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

Мне что-то не хватает?

P / s: я использую tess-two , которые предпочитают baseapi для capi

Это выглядит так:

 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. 

Если у вас есть проблемы, следуя кодам, ознакомьтесь с примером визуализации в этом сообщении .