这是Python提供的操作PDF文件的库。
提取文档信息(标题,作者,…)
按页拆分文档
逐页合并文档
裁剪页面
合并多个页面到一个页
对pdf文档进行加密解密
等等
pip install PyPDF2
import PyPDF2
import PyPDF2
#打开文件
pdfFile = open('example.pdf','rb')
#读取PDF
pdfReader = PyPDF2.PdfFileReader(pdfFile)
#读取页数
print(pdfReader.numPages)
#获取某一页
page = pdfReader.getPage(0)
#提取文本 不一定准确
print(page.extractText())
#关闭文件
pdfFile.close()
#传入旋转度数rotation
#pageObj为某一页
pageObj.rotateClockwise(rotation)
#创建PDF写对象
pdfWriter = PyPDF2.PdfFileWriter()
#加入页
pdfWriter.addPage(pageObj)
#写入文件
newFile = open(newFileName,'wb')
pdfWrite.write(newFile)
#创建一个pdf文件合并对象
pdfMerger = PyPDF2.PdfFileMerger()
#需要合并的pdf名称
pdfs = ['example.pdf','testexample.pdf']
#逐个添加pdf
for pdf in pdfs:
with open(pdf,'rb') as f:
pdfMerger.append(PyPDF2.PdfFileReader(f, strict=False))
#合并完成的pdf名称
output = 'combined_example.pdf'
#将内存中合并的pdf文件写入
with open(output,'wb') as f:
pdfMerger.write(f)
#打开水印pdf文件
#水印pdf的名称
watermark = 'watermark.pdf'
#原始pdf的名称
origFileName = 'example.pdf'
wmFileObj = open(watermark,'rb')
#创建pdfReader对象,把打开的水印pdf传入
pdfReader = PyPDF2.PdfFileRdader(wmFileObj)
#将水印pdf的首页与传入的原始pdf的页进行合并
#水印只有1页,所以传入0
pageObj.mergePage(pdfReader.getPage(0))