【问题标题】:Is there a way to change the order/way Acrobat selects text of a PDF?有没有办法改变 Acrobat 选择 PDF 文本的顺序/方式?
【发布时间】:2015-06-28 00:01:35
【问题描述】:

我有一个 Visual Basic 程序,可以从 PDF 中提取文本并将文本导入 excel。它依赖于像人类一样阅读文本,从左到右阅读整个页面。但是,在这个特定的 PDF 中有一些实例,如果我用鼠标选择文本,我单击并直接拖动,但 Adob​​e 开始选择/突出显示上下行上的单词,然后继续在页面上突出显示。这给了我不想要/不需要的数据。该页面包含可呈现的文本,并且不是来自扫描的文档。

有没有办法“重置”Adobe 解释 PDF 文本的方式?由于左侧的信息与右侧的信息相距甚远,因此几乎将它们视为单独的列。

我尝试将 PDF 保存为不同的格式,例如 txt 或 postscript,然后提取为另一个 PDF,但它们似乎都产生了相同的结果。这对我来说很奇怪,因为我有其他类似的 PDF,这不是问题。

任何帮助或想法将不胜感激,谢谢。

【问题讨论】:

  • 添加您迄今为止尝试过的代码

标签: vba pdf adobe acrobat


【解决方案1】:

由于 PDF(以其基本形式)本质上意味着在画布上放置字符串,因此没有内置“句子”或“阅读顺序”的概念。

为了提取文本,您必须读出文本的边界框,然后使用一些逻辑和启发式方法根据边界框的坐标组合文本。

如果 PDF 是结构化 PDF,其中的文本内容作为文本嵌入到文档中,事情会变得更容易。这也是可访问文档的主要要求。因此,如果您的文档是可访问的,您可以依靠该结构来获得正确的阅读顺序。

【讨论】:

  • 通常 PDF 的结构是相同的并且可以访问。但是这个被编辑了(我不确定他们使用的方法)并且它只改变了几行文档的结构。所以我很好奇是否有办法“纠正”结构。例如,当我将文档另存为 .txt(plain) 文档时,纠正了一些行并修复了结构。但是,并非所有人都是。因此我的问题。感谢您的回复,马克斯。
猜你喜欢
  • 2021-10-20
  • 1970-01-01
  • 2014-06-18
  • 1970-01-01
  • 2023-01-18
  • 2013-06-27
  • 2017-06-09
  • 2021-01-29
  • 1970-01-01
相关资源
最近更新 更多