pdf拆分文档 取其中一部分作为新文件 python编程

用于网页pdf翻译 只免费10页

https://fanyi.pdf365.cn/doc

修改的代码

基于https://www.cnblogs.com/echohye/p/15489551.html

点击查看代码

from PyPDF2 import PdfFileReader, PdfFileWriter
 
from pathlib import Path

def half_split(path):
    # pdf二分 生成两个一半的文档
    pdf = PdfFileReader(path,strict=False)  # 读取pdf
    max=pdf.getNumPages()
    n=max//2
    split(path,1,n)
    split(path,n+1,max)

def split(path, page_start,page_end):
    # pdf提取中间页
    page_start, page_end = int(page_start), int(page_end)  # 将页码转为整数类型
    path=Path(path)
    output_name =path.with_name(path.stem+f'({page_start}-{page_end}).pdf' ) # 输出分割后的pdf文件
    if output_name.exists():
        return

    pdf = PdfFileReader(path,strict=False)  # 读取pdf
    pdf_writer = PdfFileWriter()  # pdf写入对象

    if page_start < 1 or page_end > pdf.getNumPages():  # 判断页码是否在合理范围内,即有没有小于或大于pdf文件的页数
        print("Error:页码超出合理范围,请确定您输入的页数区间在合理范围之内!")
        return
    for page in range(page_start-1, page_end):  # 需要分割的pdf页数区间,因为读取的页数是从0开始计数的,所以减1
        pdf_writer.addPage(pdf.getPage(page))  # pdf页数读取,存于内存,并未开始写入
    with open(output_name, 'wb') as output_pdf:
        pdf_writer.write(output_pdf)  # 开始写入指定页数区间的pdf
    print("分页完成,注意查收:" )


if __name__ == '__main__':
    # source_path = input("请输入需要分割的pdf的文件:")  # 需要分割的pdf文件
    # pages = input("请输入分割的起始页和终止页,以空格分开:")
    source_path=r"C:\Users\x\计算机视觉和深度学习的精准农业杂草检测模型.pdf"
    half_split(source_path)

posted @ 2022-11-25 21:09  caiusxin  阅读(86)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css