案例

将一个 pdf 文件按要求分割为几个部分。比如说一个pdf有20页,分成5个pdf文件,每个pdf文件包含4页。设计函数实现?

Python代码

from PyPDF2 import PdfFileReader, PdfFileWriter
# 分割 pdf 函数定义
def splitPDF(input_pdf, out_num, split_site):for i in range(out_num):with open(input_pdf, 'rb') as open_pdf, \open(str(i)+'.pdf', 'wb') as write_pdf:pdfReader = PdfFileReader(open_pdf)pdfWriter = PdfFileWriter()for j in range(i*split_site, (i+1)*split_site):page = pdfReader.getPage(j)pdfWriter.addPage(page)pdfWriter.write(write_pdf)# 测试函数
splitPDF('inputfile.pdf', 5, 4)
# 参数:输入PDF文件,分割份数(5个pdf文件),分割页数(每个PDF4页)

函数讲解

本函数是自己测试通过的函数,还有待优化。输入参数有,将要分割的PDF文件,分割为几个pdf文件,每个PDF文件页数。

测试结果
原来只有一个:inputfile.pdf 文件
运行之后为:0.pdf; 1.pdf; 2.pdf; 3.pdf; 4.pdf

转载于:https://www.cnblogs.com/brightyuxl/p/10055301.html

Python应用——自定义函数:分割PDF文件函数相关推荐

  1. python分割函数_Python应用——自定义函数:分割PDF文件函数

    案例 将一个 pdf 文件按要求分割为几个部分.比如说一个pdf有20页,分成5个pdf文件,每个pdf文件包含4页.设计函数实现? Python代码 from PyPDF2 import PdfFi ...

  2. 使用Python合并任意多个PDF文件

    封面图片:<Python可以这样学>,ISBN:9787302456469,董付国,清华大学出版社 图书详情(京东): 用书老师可以联系董老师获取配套PPT.源码. =========== ...

  3. Python编程--使用PyPDF解析PDF文件中的元数据

    Python编程–使用PyPDF解析PDF文件中的元数据 元数据 作为一种文件里非常明显可见的对象,元数据可以存在于文档.电子表格.图片.音频和视频文件中.创建这些文件的应用程序可能会把文档的作者.创 ...

  4. 用c语言对文件的写入和保存,C++_C语言中对文件最基本的读取和写入函数,C语言read()函数:读文件函数( - phpStudy...

    C语言中对文件最基本的读取和写入函数 C语言read()函数:读文件函数(由已打开的文件读取数据)头文件: #include 定义函数: ssize_t read(int fd, void * buf ...

  5. C#语言生成PDF文件函数总结

    PDF文件是目前比较流行的电子文档格式,在办公自动化(OA)等软件的开发中,经常要用到该格式,但介绍如何制作PDF格式文件的资料非常少,在网上搜来搜去,都转贴的是同一段"暴力"破解 ...

  6. Python按照指定页数分割PDF文件

    已经更新PDF分割器3.0 通过Python中的PyPDF2模块实现, 具体操作步骤分为: 1.获取原始pdf文件: 2.将要分割的PDF内容格式化: 3.实例一个 PDF文件编写器: 4.把3到4页 ...

  7. range python float_自定义支持 float 的 range 函数

    python range() 函数是步进函数,可快速优雅地创建一个整数列表,一般用在 for 循环中.但是 python 自带的 range() 步进函数只支持整数类型,不支持浮点数.那么,为了支持浮 ...

  8. Python对自定义离散点进行指定多项式函数拟合

    自定义离散点进行指定多项式函数拟合 用户自己自己输入坐标点,拟合函数可根据用户输入的多项式的最高次方进行自动拟合函数,拟合方法采用最小二乘法进行函数拟合. (1,2),(2,5),(3,10),(4, ...

  9. python脚本分割pdf文件

    show me your code: # 20220521 # 1.选择要分割的文件 # 2.选择要保存的位置,分割为多个文件时,可自动用页码命名 # 3.输入要分割的页码,可以是一个范围1-23(将 ...

最新文章

  1. torch distributed 多GPU训练笔记
  2. 网络爬虫:分离生产者和消费者来优化爬虫程序
  3. c#开发中程序集调用时容易忽略的问题
  4. Spring MVC HttpMessageConverter对象
  5. SAP HANA Express 版本的注册和安装
  6. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节6:设备的分配和回收
  7. 一、Linear Regression
  8. 数据结构试卷及答案(二)
  9. 前端车牌识别SDK算法及原理
  10. 计算机网络技术ui设计,UI设计小白到大神的进阶之路—入门基础篇
  11. 模电 2个NPN管组成的恒流源电路分析
  12. 千兆以太网交叉线_什么是交叉以太网电缆? 比较交叉与跳线
  13. 当天邀请的饭局要参加吗?别说“我有安排”,高手都懂这3个礼数
  14. 编码、学习、玩耍一条龙,这是我看过最良心的「游戏编程」网站,没有之一!...
  15. 连接可用AP,提示“已连接,但无法访问互联网”,过一会变成“网络连接受限”,实际可以上网
  16. metaWRAP bin_refine 模块如何优化分箱结果
  17. unixbench性能测试跑分工具
  18. windows 7 IE临时文件夹地址?
  19. 天生创想移动办公OA ,方寸之间一点即现
  20. Blender建模模块:快速建一棵枯树

热门文章

  1. python学习--DAY2
  2. Android OkHttp(1)
  3. 关于封装了gevent的request grequest库的使用与讨论
  4. dispatchTouchEvent onInterceptTouchEvent onTouchEvent
  5. Mybatis XML文件的异常
  6. C++操作windows注册列表
  7. 重新复习基础草稿:可空类型
  8. spring-cloud-config安全问题
  9. BigDecimal类(精度计算类)的加减乘除
  10. 两种控制器的跳转与回跳