Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**********************************************************************
- Example of C-API: produce output with ResultRenderer
- gcc capi-example-renderer_pdf.c -o capi-example-renderer_pdf -ltesseract -llept -Wall
- ./capi-example-renderer_pdf && cat ./capi-test.txt
- **********************************************************************/
- #include "tesseract/capi.h"
- #include "leptonica/allheaders.h"
- int main(int argc, char **argv) {
- const char* lang = "eng";
- const char* image = "../tesseract-ocr/testing/phototest.tif";
- const char* output = "capi-test";
- const char* tessdata = "/usr/src/tesseract-ocr/";
- TessBaseAPI* api;
- TessResultRenderer* renderer = NULL;
- int ret;
- api = TessBaseAPICreate();
- TessBaseAPISetOutputName(api, output);
- ret = TessBaseAPIInit3(api, tessdata, lang);
- if (ret) {
- TessBaseAPIDelete(api);
- fprintf(stderr, "Could not initialize tesseract.\n");
- exit(1);
- }
- const char* api_tessdata = TessBaseAPIGetDatapath(api);
- TessBaseAPISetVariable(api, "tessedit_create_pdf", "T");
- renderer = TessPDFRendererCreate(output, api_tessdata);
- PIX *pix_image = pixRead(image);
- const char* retry_config = NULL;
- int timeout_millisec = 0;
- int page = 0;
- const char* kUnknownTitle = "";
- if (renderer && !TessResultRendererBeginDocument(renderer, kUnknownTitle)) {
- pixDestroy(&pix_image);
- return 1;
- }
- int r = 0;
- r = TessBaseAPIProcessPage(api,
- pix_image, // struct Pix* pix,
- page, //int page_index,
- image, // const char* filename,
- retry_config, // const char* retry_config,
- timeout_millisec, // int timeout_millisec
- renderer // TessResultRenderer* renderer
- );
- pixDestroy(&pix_image);
- if (!r || (renderer && !TessResultRendererEndDocument(renderer))) {
- return 2;
- }
- TessBaseAPIDelete(api);
- return 0; // Normal exit
- }
Advertisement
Add Comment
Please, Sign In to add comment