【问题标题】:Converting PDF to any parse-able format将 PDF 转换为任何可解析的格式
【发布时间】:2016-05-05 07:13:43
【问题描述】:

我有一个 PDF 文件,其中包含可以分布在各个页面上的表格,并且中间可能有文本。可以在here 找到它的一个示例。 我能够将 PDF 转换为任何格式,但输出文件不能以任何方式解析,即我无法从中提取数据,因为它们是分散的。以下是我使用pdftotextpdftohtml 创建的输出文件的链接。

有没有办法以更合适的方式提取数据? 提前致谢。

【问题讨论】:

  • 您的示例文件似乎有正确标记的数据。它在这方面代表您的所有文件吗?
  • 是的,我所有的文件几乎都采用相同的格式。你能告诉我它是如何正确标记的吗?这正是我提取表格所需要的。
  • 您能告诉我它是如何正确标记的吗? - 创建 PDF 时,您可以选择在其中插入机器可解析的标签来表示内容的结构。您的示例文件确实有这些标签。不幸的是,我不知道哪些 python 工具可以正确解释这些标签。我想知道如何在 Java 中提取数据。

标签: python html xml pdf text


【解决方案1】:

一般的答案是否定的。 pdf 是一种用于视觉呈现和打印的格式,并且不能保证内容将按任何特定顺序排列,更不用说以除 pdf 呈现在纸上或屏幕上时出现的形式以外的任何方式结构化为表格.有时甚至会故意混淆以防止任何人做你正在尝试的事情。

在这种情况下,似乎可以剪切和粘贴每个表格元素的内容。对于少数类似的文件,这几乎可以肯定是最快的事情。打开屏幕左侧的 pdf,右侧的电子表格或数据输入程序,然后剪切和粘贴。对于中等数量 - 数十,数百? - 雇一个临时工做驴活可能是最便宜的。对于大量 - 数千? - 可以创建一个程序来自动化这个过程,但绝对不容易。我可能会考虑通过鼠标使用人工输入来识别桌子的角落和水平/垂直划分,然后通过控制人机界面设备生成剪切和粘贴操作。不要问我怎么做。我必须弄清楚我是否必须这样做,而且我宁愿不这样做。这是一只袋熊。

无论您对 pdf 内容进行何种形式的分析,肯定不会推广到由不同组织使用不同软件创建的其他 pdf,甚至可能不是由同一组织使用相同流程创建的,而只是同一软件的更高版本。

【讨论】:

    【解决方案2】:

    按照@nigel222 的说法,这真的取决于PDF 以某种有用的方式获取数据的难易程度。

    最好是结构化的 PDF(具有文档结构,在编写 PDF 时创建)。在这种情况下,您可以访问该结构,一切就绪。

    由于结构是可访问 PDF 的基本要求,您可以尝试通过应用各种“使可访问”实用程序来“按摩”文档;肯定要遵循的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-03
      • 2017-02-13
      • 2020-07-05
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-31
      相关资源
      最近更新 更多