Tesseract ocr PDF 作为输入

acr*_*rab 19 c# ocr tesseract

我正在构建一个 OCR 项目,并且正在为Tesseract使用 .Net 包装器。包装器的示例没有显示如何将 PDF 作为输入处理。使用 PDF 作为输入如何使用 c# 生成可搜索的 PDF?

  • 我已经使用 ghostscript 库将 Pdf 更改为图像,然后用它提供 Tesseract,它在获取文本时效果很好,但我没有保存 Pdf 的原始形状,我只获取文本

如何通过保存原始 Pdf 的形状从 Pdf 获取文本

在此处输入图片说明

这是来自 pdf 的页面,我不想要只有文本,我希望文本的形状与原始 pdf 一样,并且英语不好

Pie*_*erz 17

有一个方便的工具OCRmyPDF,可以将文本层添加到扫描的 PDF 中,使其可搜索 - 这基本上自动执行了前面答案中提到的步骤。


Kos*_*dis 13

仅出于文档原因,这里是OCR使用tesseractpdf2image从图像 pdf 中提取文本的示例。

import pdf2image
try:
    from PIL import Image
except ImportError:
    import Image
import pytesseract


def pdf_to_img(pdf_file):
    return pdf2image.convert_from_path(pdf_file)


def ocr_core(file):
    text = pytesseract.image_to_string(file)
    return text


def print_pages(pdf_file):
    images = pdf_to_img(pdf_file)
    for pg, img in enumerate(images):
        print(ocr_core(img))


print_pages('sample.pdf')
Run Code Online (Sandbox Code Playgroud)

  • 请记住,如果您想更改语言,则只需更改这行代码:`text = pytesseract.image_to_string(file, lang='bul')` 在我的例子中是保加利亚语。另请查看此帖子以获取更多信息:/sf/ask/3128428061/ (2认同)

tob*_*obs 6

Tesseract 从 3.0 版本开始支持创建三明治。但是对于此功能,建议使用 3.02 或 3.03。 Pdfsandwich是一个脚本,它或多或少地满足您的需求。

在线服务www.sandwichpdf.com确实使用 tesseract 来创建可搜索的 PDF。在开始使用 tesseract 实施解决方案之前,您可能需要运行一些测试。结果还可以,但是有些商业产品可以提供更好的结果。披露:我是www.sandwichpdf.com的创建者。

  • tobltobs 谢谢你 pdfsandwich 支持 windows 因为我在 windows 7 64 位中使用 Visual Studio 2010 进行编码 (2认同)