从PDF中读取文本时,如何在Python3中识别?我想知道Python3''所以我可以告诉它要查找哪些信息,保留等等。
我的最终目标是阅读PDF,从阅读信息中查找某些文本,并创建一个只包含符合条件的信息行的新文档。作为一个粗略的例子(在伪代码中):
- 如果第4列有一个' x'在其中,将ROW复制到单独的文件中(如果它不包含' x,则跳过),继续直到PDF结束。
- 阅读新文档,如果第1列有' n',请保留行,否则将其删除。
我知道这不是最理想的做法,我打算稍后修复这部分。
答案 0 :(得分:-1)
从一般意义上讲,这非常非常困难。 PDF格式允许"绘画"个人单词或字母,任何顺序,页面上的任何地方。
这意味着你所看到的"段落#34;可能存在也可能不存在于PDF文件中的任何连续意义上。 PDF阅读器(Acrobat等)只是将每个单词/字母放置在一个段落中。
因此,您可以渲染页面,然后逐个像素查看以确定文本的排列方式。 (这就是为什么如果你尝试简单的剪切和粘贴PDF,有时它会混乱。)
好消息是,您通常会获得不错的订购(PDF渲染器不会故意混淆文本。)现在这些工具就像pdfminer一样。
类似于表:您将它们视为表格,PDF将它们视为具有相同水平偏移但具有不同垂直偏移的一系列单元格(并且不一定在文件中的顺序相同。)
正如其他人所建议的那样,请查看pdfminer,阅读PDF规范,调查您的 PDF文件的格式。