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;
}
相关推荐
水饺编程5 分钟前
第5章,[Win32 章节] :绘制填充区域
c语言·c++·windows·visual studio
hy5685696 分钟前
2027赛逸展聚焦机器视觉技术,提升机器人环境感知能力
人工智能·机器人
AndrewHZ10 分钟前
图像处理入门018 | 简易图像浏览器开发:用 OpenCV + Tkinter 打造你的第一个图像 GUI 工具
图像处理·人工智能·opencv·canvas·tkinter·事件绑定
智恒百亿10 分钟前
企业 AI 推理本地化部署:GPU 服务器选型技术分析(2026 年 8 月)
大数据·服务器·人工智能
黎阳之光10 分钟前
软硬协同国产化 | 黎阳之光矩阵式视频融合管理系统完成摩尔线程国产GPU兼容适配
大数据·人工智能·物联网·安全·数字孪生
水管在开花.12 分钟前
RAG:知识库问答系统教学②-零基础保姆级教程
人工智能·面试·agent·rag
YOLO数据集集合13 分钟前
无人机视角交通目标检测数据集 | 无人机感知 交通检测 城市监控 目标检测 YOLO格式 深度学习数据集 9016期
人工智能·深度学习·yolo·目标检测·计算机视觉·无人机·交通数据集
2601_9574188014 分钟前
相机连续拍摄时,照片为什么会乱?从传输队列到相机即拍即传 SDK 的设计
人工智能·数码相机
蓝悦无人机18 分钟前
端侧神经网络量化(一):为什么要量化 & 量化基础
人工智能·深度学习·神经网络·边缘计算