将pdf文本层复制到另一个pdf

i3v*_*i3v 4 pdf ocr adobe-acrobat

假设您有 2 个“已扫描”的 pdf 文件。

  1. 大,但没有文字层。
  2. 较小(具有较低质量的图像),但具有正确的文本层。

两个文件都包含相同的图像,只是压缩方式不同。

目标是将相同的文本层嵌入到第一个 pdf 中。

“仅 OCR 1st 文件”不是解决方案。我知道 Acrobat(和其他一些工具)能够在不改变图像层的情况下进行 OCR,但我对它们的 OCR 质量不满意。

所以,我看到了两种可能的方式:

  1. 以某种方式导出导入文本层
  2. 以某种方式替换图像层中的图像。

关于第一种方式,我什么也没找到。关于第二种方式,我找到了两个工具,它们非常接近hocr2pdfpdf2text,但据我所知,它们仍然不够。:(

PS:使用示例:

我刚刚发现了另一个示例,其中此类操作以系统的方式很有用。

如果你扫描了 pdf-1(没有文本层),比如“jpg”图像压缩,Abbyy Finereader 会给你 OCR 的 pdf,pdf-2。如果您选择无损图像压缩,它要么非常大,要么其图像质量明显低于 pdf-1。在许多情况下,最好的选择是保持源图像压缩原样,不要重新压缩图像。

Nic*_*teo 5

这个stackoverflow 上的答案有一个解决方案。您可以使用pdftotext -bboxPython 包PDFMiner从 pdf-2 中提取带有坐标的文本,然后使用 Python 包ReportLab将此隐藏文本写入新的 PDF ,然后使用PDFtk将此隐藏文本 PDF 与您的 pdf-1 合并(有网页上的 Windows 图形用户界面;Unix 的命令行现在称为 PDFtk 服务器。)

或者,您可以尝试使用 PDFtk 直接合并 pdf-1 和 pdf-2。运行pdftk pdf-2 multistamp pdf-1 output out.pdf。这会将 pdf-1 的每一页放在 pdf-2 对应页面的前面,因此您只会看到来自 pdf-1 的图像(假设它们是扫描件,并且没有透明背景),但是隐藏的文本从 pdf-2 将包括在内。缺点是这可能非常大,因为它将包含每个页面图像的两个副本。我已经验证这是有效的,并且输出 pdf 的大小是输入大小的总和。