OCR C++ Tesseract生成可搜索的pdf

这个程序使用Tesseract OCR识别图片里的字符,生成可以搜索文本内容的pdf,当然也可以复制pdf里的文本或者执行其他pdf操作。

输入图片:程序运行后会生成pdf,这里演示生成的pdf可以选中和复制:

输入:phototest.tif

输出:my_first_tesseract_pdf.pdf

代码:

cpp 复制代码
#include <leptonica/allheaders.h>
#include <tesseract/baseapi.h>
#include <tesseract/renderer.h>

int main()
{
    const char* input_image = "/usr/src/tesseract-oc/testing/phototest.tif";
    const char* output_base = "my_first_tesseract_pdf";
    const char* datapath = "/Projects/OCR/tesseract/tessdata";
    int timeout_ms = 5000;
    const char* retry_config = nullptr;
    bool textonly = false;
    int jpg_quality = 92;

    tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
    if (api->Init(datapath, "eng")) {
        fprintf(stderr, "Could not initialize tesseract.\n");
        exit(1);
    }

    tesseract::TessPDFRenderer *renderer = new tesseract::TessPDFRenderer(
              output_base, api->GetDatapath(), textonly, jpg_quality);

    bool succeed = api->ProcessPages(input_image, retry_config, timeout_ms, renderer);
    if (!succeed) {
      fprintf(stderr, "Error during processing.\n");
      return EXIT_FAILURE;
    }
    api->End();
    delete api;
    return EXIT_SUCCESS;
}
相关推荐
热心网友俣先生2 分钟前
2026年华数杯C 题 超详细解题思路
c语言·开发语言·人工智能
RSTJ_16255 分钟前
PYTHON+AI LLM DAY ONE HUNDRED AND THIRTY
人工智能
火山引擎开发者社区13 分钟前
Seed-Evolving再升级:检索准、幻觉少!
人工智能
math_hongfan17 分钟前
鸿蒙多模态AI交互高级:图文+语音+手势融合交互/多模态大模型端侧适配/跨模态检索高阶实战
人工智能·学习·华为·交互·语音识别·harmonyos·鸿蒙
fthux19 分钟前
MCP协议开发实战:从零搭建AI Agent工具链
前端·人工智能·ai·开源·github
旖旎夜光29 分钟前
C++(类与对象)(下)
开发语言·c++·学习
一次旅行33 分钟前
Ollama本地私有化大模型完整工程实战
人工智能·机器学习·github
松果财经34 分钟前
从买家电到设计生活!卡萨帝AI全场景体验重塑渠道价值
人工智能
江屿风36 分钟前
【科普】【差集&交集概念落地云相册】流食般投喂
开发语言·c++·笔记·算法·云相册
云端漫步198737 分钟前
HarmonyOS NEXT AI 智能生活助手:源码解析与项目复盘
人工智能·华为·生活·harmonyos