手把手教你如何用 Python 从 PDF 文件中导出数据

本文详细介绍了如何使用Python的PDFMiner和Slate库从PDF文件中提取文本,以及如何将提取的数据导出为XML、JSON和CSV格式。虽然Python在PDF图片提取方面没有完善的解决方案,但可以借助Poppler等外部工具。文章提供了一系列实用的代码示例,帮助读者掌握PDF处理技巧。
摘要由CSDN通过智能技术生成

有很多时候你会想用Python从PDF中提取数据,然后将其导出成其他格式。不幸的是,并没有多少Python包可以很好的执行这部分工作。在这篇贴子中,我们将探讨多个不同的Python包,并学习如何从PDF中提取某些图片。尽管在Python中没有一个完整的解决方案,你还是应该能够运用这里的技能开始上手。提取出想要的数据之后,我们还将研究如何将数据导出成其他格式。

让我们从如何提取文本开始学起!

使用PDFMiner提取文本

最被大家所熟知的可能是一个叫做PDFMiner的包。PDFMiner包大约从Python 2.4版本就存在了。它的主要目的是从PDF中提取文本。实际上,PDFMiner可以告诉你某文本在分页上具体的位置和字体信息。对于Python 2.4到2.7版本,你可以参考以下网站来了解PDFMiner的更多信息:

GitHub – https://github.com/euske/pdfminer

PyPI – https://pypi.python.org/pypi/pdfminer/

Webpage – https://euske.github.io/pdfminer/

PDFMiner是不兼容于Python 3的。幸运的是,PDFMiner家族的一个分支PDFMiner.six在Python 3上完全能胜任同样的功能。

你可以在以下网站上找到:

https://github.com/pdfminer/pdfminer.six

关于PDFMiner的安装说明已经比较过时了。其实你可以用pip命令来安装它:

python -m pip install pdfminer

如果你要在Python 3上安装PDFMiner(这也许就是你现在正在做的),你需要这样安装:

python -m pip install pdfminer.six

PDFMiner的相关文档很少。你将很大可能地需要使用Google和Stack Overflow两个查询工具来弄清楚如何在这篇贴子的涵盖内容之外有效地使用PDFMiner。

提取所有文本

有时你会想要提取PDF文件中的所有文本。PDFMiner包提供了一些不同的方法使你能够做到这一点。我们先来探讨一些编程的方法。让我们试着从一个国税局W9表单中读取所有的文本。

你可以从这里得到表单副本:

 https://www.irs.gov/pub/irs-pdf/fw9.pdf

保存完这个PDF文件之后,你可以参考以下代码:

 

当你直接使用PDFMiner包时,往往会有点繁琐。这里,我们从PDFMiner的不同模块中引入多个不同的类。由于这些类都没有文档说明,也没有实现其文档字符串属性,我将不会深入讲解它们做了什么。如果你真的好奇的话,尽管可以深入地研究它们的源代码。无论如何,我认为我们可以大致照以上代码行事。

我们做的第一件事就是创建一个资源管理器的实例。然后通过Python的输入输出(io)模块创建一个似文件对象。如果你使用的是Python 2,你应该使用StringIO模块。接下来的步骤是创建一个转换器。在这个例子里,我们选择使用TextConverter,如果你想要的话,你还可以使用HTMLConverter或XMLConverter。最后,我们创建一个PDF解释器对象,携带着我们的资

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值