• python 拆分pdf(有可执行文件exe)


    1.背景 

           被那些软件pdf拆分整气死了,今天用python写一份pdf拆分的代码。

    2.代码:(计算机的可以去学习一下,自己改改)

      pdf_split.py

    1. from PyPDF2 import PdfFileReader, PdfFileWriter
    2. # PDF文件分割
    3. def split_pdf():
    4. try:
    5. read_file = input("请输入要拆分的PDF名字(例如test.pdf):")
    6. fp_read_file = open(read_file, 'rb')
    7. pdf_input = PdfFileReader(fp_read_file) # 将要分割的PDF内容格式话
    8. page_count = pdf_input.getNumPages() # 获取PDF页数
    9. print("该文件共有{}页".format(page_count)) # 打印页数
    10. Customize=input("是否自定义拆封规则(Yes or No):")
    11. if Customize=="No":
    12. size=input("请输入一个文件中保存的页数(分为等份):")
    13. out_detail=input("请输入拆封规则文件(eg 1.txt):")
    14. n=page_count//int(size)
    15. with open(out_detail,"w") as fp:
    16. for i in range(n):
    17. start=i*int(size)+1
    18. end=int(start)+int(size)-1
    19. if end>page_count:
    20. end=page_count
    21. temp=str(start)+str('-')+str(end)
    22. tp=str(temp)+" split_"+str(start)+'_'+str(end)+'\n'
    23. fp.write(tp)
    24. else:
    25. out_detail=input("请配置好拆分规则文件,并输入文件(eg. 1.txt):")
    26. with open(out_detail, 'r',True,'utf-8')as fp:
    27. txt = fp.readlines()
    28. for detail in txt: # 打开分割标准文件
    29. pages, write_file = detail.split() # 空格分组
    30. pdf_file = f'{write_file}.pdf'
    31. # liststr=list(map(int, pages.split('-')))
    32. # print(type(liststr))
    33. start_page, end_page = list(map(int, pages.split('-'))) # 将字符串数组转换成整形数组
    34. start_page -= 1
    35. try:
    36. print(f'开始分割{start_page}页-{end_page}页,保存为{pdf_file}......')
    37. pdf_output = PdfFileWriter() # 实例一个 PDF文件编写器
    38. for i in range(start_page, end_page):
    39. pdf_output.addPage(pdf_input.getPage(i))
    40. with open(pdf_file, 'wb') as sub_fp:
    41. pdf_output.write(sub_fp)
    42. print(f'完成分割{start_page}页-{end_page}页,保存为{pdf_file}!')
    43. except IndexError:
    44. print(f'分割页数超过了PDF的页数')
    45. except Exception as e:
    46. print(e)
    47. if __name__ == '__main__':
    48. split_pdf()

    3.可执行文件(.exe) 非计算机的可以用这个

    链接:https://pan.baidu.com/s/1Zye2nHwPv2599JlszD_NKg 
    提取码:123l

    4.使用

          (1)把exe(py)文件放到想要拆分pdf的目录下

          (2)执行exe(py)  首先输入想要拆分pdf的名字

          (3   下面有是否选择自定义拆分目录,

                        默认规则为输入 :No -> 输入一个文件中保存的页数 :size,会均分为size大小的pdf 

                        如果输入Yes 那需在该目录下编写一个txt文件,包括命名规则

     eg.

     

    一行中,前面表示拆分文件起始页到末页中原pdf的页码,后面表示生成的拆分pdf文件(文件名不要有空格,可能会出错)

    可支持修改,在选择规则是选择Yes即可

    下面要输入拆分规则文件(.txt) 即可生成拆分pdf的文件,运行截图如下:

    外传:python生成可执行文件

              要执行python文件,首先确定确定环境是否有PyPDF2

             安装命令:

             pip install PyPDF2

            下面安装python可执行文件包

    pip install pyinstaller    

            初始化py文件  执行下面命令,会生成一个pdf_split.spec文件

     pyinstaller -F pdf_split.py

            生成exe文件,再输入

    pyinstaller pdf_split.spec

  • 相关阅读:
    信息量为什么要表示成对数的形式——问题整理
    网络安全(黑客)自学
    Linux Arm64修改页表项属性
    【新课程】PICO VR 交互开发指南
    极简示例揭示 SwiftUI 中 @ObservedObject 与 @StateObject 状态的关键区别
    Linux的基本权限
    智能井盖传感器扣好“城市纽扣”,让市民脚下更有安全感
    2022就业季|Spring认证教你,如何使用 Spring 构建 REST 服务(二)
    华纳云:ssh登录22号端口拒绝连接Ubuntu?
    过去10年的10起重大网络安全事件
  • 原文地址:https://blog.csdn.net/qq_41485193/article/details/128171254