这篇文章将为大家详细讲解有关python的PyPDF2怎么实现pdf文件切割和合并,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在百度了一番后,发现大多都是使用 Adobe Acrobat 软件进行剪裁,这完全不 Pythonic,因此又找了用Python处理 PDF 文件的方法,最后发现了PyPDF2这个库,本文将利用这个库,实现对 PDF 的分割。

首先,你需要通过 pip 安装这个库:

pipinstallPyPDF2

要使用python的

#导入读写pdf模块fromPyPDF2importPdfFileReader,PdfFileWriter'''注意:页数从0开始索引range()是左闭右开区间'''defsplit_pdf(file_name,start_page,end_page,output_pdf):''':paramfile_name:待分割的pdf文件名:paramstart_page:执行分割的开始页数:paramend_page:执行分割的结束位页数:paramoutput_pdf:保存切割后的文件名'''#读取待分割的pdf文件input_file=PdfFileReader(open(file_name,'rb'))#实例一个PDF文件编写器output_file=PdfFileWriter()#把分割的文件添加在一起foriinrange(start_page,end_page):output_file.addPage(input_file.getPage(i))#将分割的文件输出保存withopen(output_pdf,'wb')asf:output_file.write(f)defmerge_pdf(merge_list,output_pdf):"""merge_list:需要合并的pdf列表output_pdf:合并之后的pdf名"""#实例一个PDF文件编写器output=PdfFileWriter()formlinmerge_list:pdf_input=PdfFileReader(open(ml,'rb'))page_count=pdf_input.getNumPages()foriinrange(page_count):output.addPage(pdf_input.getPage(i))output.write(open(output_pdf,'wb'))if__name__=='__main__':#分割pdfsplit_pdf("test.pdf",0,3,"0-2.pdf")split_pdf("test.pdf",7,12,"7-11.pdf")split_pdf("test.pdf",18,23,"18-22.pdf")split_pdf("test.pdf",27,33,"26-32.pdf")split_pdf("test.pdf",40,44,"40-43.pdf")split_pdf("test.pdf",46,51,"46-50.pdf")split_pdf("test.pdf",58,66,"58-65.pdf")split_pdf("test.pdf",77,84,"77-83.pdf")split_pdf("test.pdf",93,97,"93-96.pdf")split_pdf("test.pdf",102,106,"102-105.pdf")#合并pdf#合并的pdf列表pdf_list=["0-2.pdf","7-11.pdf","18-22.pdf","26-32.pdf","40-43.pdf","46-50.pdf","58-65.pdf","77-83.pdf","93-96.pdf","102-105.pdf"]merge_pdf(pdf_list,"all.pdf")

下面是切分好的文件效果,完美

关于“python的PyPDF2怎么实现pdf文件切割和合并”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。