利用python的第三方库PyPDF2可对pdf文档进行操作,如合并多个pdf文档、拆分pdf文档等。
1.导入第三方库PyPDF2
import PyPDF2
2.PdfReader类
读取pdf文档
pdf_reader = PyPDF2.PdfReader(stream=r'D:\2024经济法基础.pdf')
参数stream为要读取的pdf文档的路径。读取pdf文档就是实例化PdfReader,其相关属性及方法如下所示。
2.1属性metadata
information = pdf_reader.metadata
获取文档的信息
2.2属性pages
获取文档的页面序列
2.2.1文档总页数
pages_num = len(pdf_reader.pages)
2.2.2获取具体页面
first_page = pdf_reader.pages[0]
可用循环进行获取
3. PdfWriter
pdf_writer = PyPDF2.PdfWriter()
实例化PdfWriter,获得写入器对象。
3.1 add_page方法
for page_num in range(len(pdf_reader.pages)):
if page_num < 9:
page = pdf_reader.pages[page_num]
pdf_writer.add_page(page=page)
参数page为页面。结果为将页面page添加至pdf_writer对象。
3.2 write方法
pdf_writer.write(stream=r'D:\test.pdf')
参数stream为输出的pdf文档的路径。结果为将pdf_writer对象输出为pdf文档。
4. PdfMerger类
pdf_merge = PyPDF2.PdfMerger()
实例化PdfMerger
4.1 append方法
pdf_merge.append(fileobj=pdf_reader, pages=(1, 10))
参数fileobj为实例化pdf对象;参数pages为想要获取的页面索引,[start, end)即左取右不取,0为第一个页面索引。结果为将pdf_reader的第2至第9页内容添加至pdf_merge对象。
4.2 merge方法
pdf_merge.merge(position=1, fileobj=new_pdf_reader, pages=(0, 10))
参数position为想要插入的pdf_merge页面索引,其他参数参照append方法的参数。结果为在pdf_merge的索引1位置插入new_pdf_reader的索引0到9的页面。
4.3 write方法
pdf_merge.write(fileobj=r'D:\test.pdf')
参数fileobj为输出的pdf文档的路径。结果为将pdf_merge对象输出为pdf文档。
注:PdfWriter与PdfMerger也与PdfReader一样,具有pages属性,用法参照PdfReader。