前言:
现时小伙伴们对“python 拆分文件”大致比较珍视,兄弟们都想要了解一些“python 拆分文件”的相关内容。那么小编在网络上汇集了一些关于“python 拆分文件””的相关文章,希望同学们能喜欢,看官们快快来了解一下吧!最近整合有朋友需要问我,怎么把一个200多个的PDF文件,分割成10个小的PDF,每个小的PDF10也呢?其实,使用python就容易就能完成,超级简单。
PDF 文档格式可移植文档格式(PDF)属于最常用的数据格式,因此在工作中经常就会涉及处理 pdf 文件的处理,因此掌握一直快速处理方法十分必要。目前python 支持处理PDF的库主要有 PyPDF2,pyPdf ,pdfminer3k , PyMuPDF等,他们都可以进行PDF文件的读、写、分割、合并和PDF文件转换等多种操作,今天主要讲一下MuPDF处理PDF的方法。
PDF大文件,怎么根据PDF页面数、均等的拆分成多个PDF文件呢?
这里主要是完成PDF文件的拆分,然后保存到新的PDF当中去,方法如下:
### PDF文件拆分def pdf_segment(pdf_path:str, seg_num =10, output_dir=os.getcwd()): """ PDF 文件拆分 pdf_path: pdf 路径 seg_num: 指定拆分后PDF页数 output_dir: 拆分结果保存位置 """ pdf_doc = fitz.open(pdf_path) num_page = pdf_doc.pageCount ## 获取PDF文件总页数 pages = [i for i in range(0, num_page, seg_num)] for i, pages_start in enumerate(pages): pages_end = pages_start + seg_num - 1 dist_pdf = fitz.open() dist_pdf.insert_pdf(pdf_doc, from_page=pages_start,to_page=pages_end) pdf_name = os.path.basename(pdf_path) savepdf = os.path.join(output_dir, f"{os.path.splitext(pdf_name)[0]}_{i}-{pages_start}-{pages_end}.pdf") dist_pdf.save(savepdf) print(f"结果保存在:{savepdf}")
示例:目前原始《天才在左疯子在右》PDF 266页,希望拆分成每个10页左右的小PDF文件。
拆分后的结果:
2.怎么删除PDF指定的页面?
示例:目前原始《天才在左疯子在右》PDF 266页,希望删除PDF当中的第1~5页和第8页和第11页,怎么处理呢?示例方法如下:
doc.delete_pages(500, 519)
doc.delete_pages(from_page=500, to_page=519)
doc.delete_pages((500, 501, 502, ... , 519))
doc.delete_pages(range(500, 520))
del doc[500:520]
del doc[(500, 501, 502, ... , 519)]
del doc[range(500, 520)]
#### 删除PDF指定页面def delete(pdf_path:str, pageList, output_dir): """ PDF页面删除, pageList: 删除页面列表 """ pdf_doc = fitz.open(pdf_path) pdf_name = os.path.basename(pdf_path) savepdf = os.path.join(output_dir, pdf_name) pdf_doc.delete_pages(pageList) pdf_doc.save(savepdf)
原始PDF删除第1~5页和第8页和第11页 后的结果:
小伙伴们,是不是很简单呢?本次就分享到这里,欢迎点赞、收藏、转发。
如需免费获取PDF处理方法,请评论去留言:方法
标签: #python 拆分文件