用Python操作PDF文件
PDF是Portable Document Format的缩写,这类文件通常使用.pdf
作为其扩展名。
从PDF中提取文本
在Python中,用名为PyPDF2
的三方库来读取PDF文件,可以使用下面的命令在终端来安装它。
pip install PyPDF2 -i https://pypi.doubanio.com/simple
PyPDF2
没有办法从PDF文档中提取图像、图表或其他媒体,但它可以提取文本,并将其返回为Python字符串。
import PyPDF2
reader = PyPDF2.PdfFileReader('test.pdf')
page = reader.getPage(0)
print(page.extractText())
网上有很多讲解从PDF中提取文字的文章,《三大神器助力Python提取pdf文档信息》进一步了解。
旋转和叠加页面
上面的代码中通过创建PdfFileReader
对象的方式来读取PDF文档,该对象的getPage
方法可以获得PDF文档的指定页并得到一个Page
对象,利用Page
对象的rotateClockwise
和rotateCounterClockwise
方法可以实现页面的顺时针和逆时针方向旋转,代码如下所示。
import PyPDF2
reader = PyPDF2.PdfFileReader('test.pdf')
page = reader.getPage(0)
page.rotateClockwise(90)
writer = PyPDF2.PdfFileWriter()
writer.addPage(page)
with open('test-rotated.pdf', 'wb') as file:
writer.write(file)
Page
对象还有一个名为mergePage
的方法,可以将一个页面和另一个页面进行叠加,对于叠加后的页面,使用PdfFileWriter
对象的addPage
将其添加到一个新的PDF
文档中。