文件处理pythonPython已看

Python 全栈:用 Python 操作 PDF 文件

2022-01-15  本文已影响0人  you的日常

PDF 是 Portable Document Format 的缩写,这类文件通常使用 .pdf 作为其扩展名。在日常开发工作中,最容易遇到的就是从 PDF 中读取文本内容以及用已有的内容生成 PDF 文档这两个任务。

从PDF中提取文本

在Python中,可以使用名为 PyPDF2 的三方库来读取PDF文件,可以使用下面的命令来安装它。

pip install PyPDF2

PyPDF2 没有办法从 PDF 文档中提取图像、图表或其他媒体,但它可以提取文本,并将其返回为 Python 字符串。

import PyPDF2

reader = PyPDF2.PdfFileReader('test.pdf')
page = reader.getPage(0)
print(page.extractText())

当然,PyPDF2 并不是什么样的 PDF 文档都能提取出文字来,这个问题就我所知并没有什么特别好的解决方法,尤其是在提取中文的时候。网上也有很多讲解从 PDF 中提取文字的文章,推荐大家自行阅读进行了解, 后续我们也可以花点时间讲解下。

要从 PDF 文件中提取文本也可以直接使用三方的命令行工具,具体的做法如下所示。

pip install pdfminer.six
pdf2text.py test.pdf

旋转和叠加页面

上面的代码中通过创建 PdfFileReader 对象的方式来读取 PDF 文档,该对象的 getPage 方法可以获得 PDF 文档的指定页并得到一个 PageObject 对象,通过 PageObject 对象的 rotateClockwiserotateCounterClockwise 方法可以实现页面的顺时针和逆时针方向旋转,通过 PageObject 对象的 addBlankPage 方法可以添加一个新的空白页,代码如下所示。

上一篇下一篇

猜你喜欢

热点阅读