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;
}
相关推荐
幂律智能1 天前
幂律副总裁李融受邀参加新加坡 TechLaw.Fest 圆桌讨论,分享中国法律科技创新实践
人工智能
Zentceh1 天前
0.001Lux是什么概念
图像处理·人工智能·科技·计算机视觉·车载系统·无人机·智能硬件
梦影_1 天前
Langchain简单快速上手教程(五)——聊天模型之流式传输
java·数据库·人工智能·python·langchain
pt10431 天前
AIOps机器学习——当警报阈值被调高之后
运维·人工智能·自动化
揽秀亭长1 天前
视频转脚本如何实现自动化?完整流程与技术思路
人工智能·音视频
qq_369173631 天前
让 Agent 自己完成交付:AI 生成内容的发布、反馈与自动修改闭环
人工智能·ai·效率工具·ai 工作流
AiNightVision1 天前
NMC存算一体与AI ISP
人工智能·算法·车载系统·自动驾驶·无人机·视频·智能硬件
AI码农小姐姐1 天前
AI漫剧推文短视频生成中的数据版本管理:基于DVC的模型与素材追踪实践
人工智能·音视频·ai工具·ai漫剧
L@ncor1 天前
第二章 智能体发展史 · 学习笔记
人工智能·python
一木 之林1 天前
第 8 节 C++ 设计模式在 AI 推理 SDK 和 Agent 工具运行时中如何落地
c++·人工智能·设计模式