我使用PythonPdfMiner库从pdf文件中提取文本(请参见docs)
但是,pdfminer似乎无法提取某些文件中的所有文本,而是提取LTFigure
对象。假设从这个对象的位置来看,它“覆盖”了一些文本,所以这个文本并没有被提取出来
pdf文件和带有从pdf中提取信息的代码的简短jupyter笔记本都位于Github存储库中,我专门创建该存储库是为了问这个问题:
https://github.com/druskacik/ltfigure-pdfminer
我不是pdf文件工作原理方面的专家,但常识告诉我,如果我可以在浏览器中使用control + f
查找文本,它应该是可提取的
我曾考虑使用其他一些库,但问题是,我还需要提取单词的位置(以便将它们用于我的机器学习模型),这似乎是pdfminer提供的功能
好的,我终于想出了解决办法。这很简单-可以像迭代
LTTextBox
对象一样迭代LTFigure
对象请注意,正确的方法(确保解析器读取文档中的所有内容)是递归地迭代
pdfminer
对象,如下所示:How does one obtain the location of text in a PDF with PDFMiner?考虑到您也考虑其他库,我建议使用PopdUTUL的pdftohtml将PDF转换成XML:
它将输出一个xml文件,其中包含文本以及框的顶部、左侧、宽度和高度值。pdfminer不认识的文本没有问题
相关问题 更多 >
编程相关推荐