python列表分割 PDF页面分割删除超简单:怎么用python分拆PDF大文件?

最近整合有朋友需要问我python列表分割,怎么把一个200多个的PDF文件,分割成10个小的PDFpython列表分割,每个小的PDF10也呢?其实,使用python就容易就能完成,超级简单。

python列表分割_python 读取文件 分割_python cfs连通域分割

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}")

python列表分割_python cfs连通域分割_python 读取文件 分割

示例:目前原始《天才在左疯子在右》PDF 266页,希望拆分成每个10页左右的小PDF文件。

python cfs连通域分割_python列表分割_python 读取文件 分割

拆分后的结果:

python 读取文件 分割_python cfs连通域分割_python列表分割

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)

python列表分割_python cfs连通域分割_python 读取文件 分割

原始PDF删除第1~5页和第8页和第11页 后的结果:

python cfs连通域分割_python 读取文件 分割_python列表分割

原始PDF vs 删除第1~5页和第8页和第11页

———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99

滚动至顶部