如何在 PDFBOX 中正确提取格式化文本,如 "copy with formatting " 在 adobe acrobat x pro 中

How to extract formatted text corectly in PDFBOX like "copy with formatting "in adobe acrobat x pro

我需要在 pdf 文件中正确提取文本(第 1 页的第一行 https://github.com/zhongguogu/PDFBOX/blob/master/pdf/formatted_text.pdf) 与 PDFBOX。

实际结果是
但我可以在 Adob​​e Acrobat X Pro 中通过 "Copy Withing Formatting" 正确复制文本。 江苏利士德化工有限公司.

有没有正确提取格式化文本的方法。

您可以将 PDFBox 的 in-built 文本提取功能视为类似于从 Adob​​e Acrobat Reader 进行的常规复制和粘贴;细节上有一些差异,例如Adobe Reader 更喜欢 ActualText 标签而不是标签内容的常规文本提取,但大多数情况下它们是相同的,并且按照 PDF 规范 ISO 32000-1 / ISO 中的描述实现文本提取32000-2.

Adobe Reader 从您的文档中复制并粘贴生成的内容在我看来像是一排正方形。这也是您对 PDFBox 的大致期望。

查看样本 PDF 的内部结构,没有发现关于哪个 Unicode 代码点对应于任何给定字形的信息,至少 none 以标准方式编码。

我假设 Adob​​e "Copy With Formatting" 所做的是,提取要么基于普通 PDF 创建者先前对专有输出的 in-depth 分析所产生的启发式方法,要么基于字形定义与任何文件中存在的字形的比较可访问的字体。甚至可能是两者的结合,如果其他所有方法都失败,则由 OCR 支持。

您可以使用 PDFBox 作为框架框来实现类似的功能来检索原始数据,但不要指望这项任务很容易。