案例

将一个 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

Python应用——自定义函数:分割PDF文件函数的更多相关文章

  1. BCB/Delphi中常用的VCL函数说明(文件函数)

    --------------------文件操作--------------------函数名称:ChangeFileExt函数说明:更改指定文件的扩展名,函数原型如下:AnsiString __fa ...

  2. C语言open()函数:打开文件函数(转)

    相关函数:read, write, fcntl, close, link, stat, umask, unlink, fopen 头文件:#include <sys/types.h>   ...

  3. python分割sql文件

    之前用joomla帮一学校做了个网站,然后要部署到他们到服务器上,他们只提供了sftp和phpmyadmin的账号,上传网站文件倒是挺顺利的,但后来用phpmyadmin导入mysql数据就遇到问题了 ...

  4. 【转】Python编程: 多个PDF文件合并以及网页上自动下载PDF文件

    1. 多个PDF文件合并1.1 需求描述有时候,我们下载了多个PDF文件, 但希望能把它们合并成一个PDF文件.例如:你下载的数个PDF文件资料或者电子发票,你可以使用python程序合并成一个PDF ...

  5. 另类爬虫:从PDF文件中爬取表格数据

    简介   本文将展示一个稍微不一样点的爬虫.   以往我们的爬虫都是从网络上爬取数据,因为网页一般用HTML,CSS,JavaScript代码写成,因此,有大量成熟的技术来爬取网页中的各种数据.这次, ...

  6. PDF文件的加载及展示

    项目需要显示PDF文件,于是遍寻了网络,发现的方法以下几种: 1.使用UIWebView加载,没啥说的,根据文件路径,网络或者本地皆可,创建一个NSURLRequest,然后用webView加载就可以 ...

  7. pdf文件处理--QPDF

    1.分割pdf文件 从原文件中取出n-m页,保留原文件的目录格式: qpdf infile.pdf --pages . n-m -- outfile.pdf 从原文件中取出n-m页,不保留原文件的目录 ...

  8. 洗礼灵魂,修炼python(21)--自定义函数(2)—函数文档,doctest模块,形参,实参,默认参数,关键字参数,收集参数,位置参数

    函数文档 1.什么是函数文档: 就是放在函数体之前的一段说明,其本身是一段字符串,一个完整的函数需要带有函数文档,这样利于他人阅读,方便理解此函数的作用,能做什么运算 2.怎么查看函数文档: func ...

  9. Python基础之文件处理、函数、内置函数 (三)

    内置函数 一 详细见python文档,请点击 文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') 注:python中打开 ...

随机推荐

  1. mysql 文件导入

    load data infile 文件路径 into table 表 fields terminated by ',' lines terminated '\n'

  2. Tmk吃汤饭

    问题 : Tmk吃汤饭 时间限制: 1 Sec  内存限制: 128 MB 题目描述 Tmk喜欢吃汤饭! Tmk喜欢吃汤饭!! Tmk喜欢吃汤饭!!! 汤饭窗口分点餐和取餐两个窗口,一位蜀黍负责点餐窗 ...

  3. js中json对象数组按对象属性排序(sort方法)---2(根据拼音排序汉字和排序英文)

    本例主要实现 中文汉字按拼音排序的方法和英文按照首字母排序的方法. 要排序的数据: //要排序的数据 let data = [ {chinese: '蔡司', english: 'Chase'}, { ...

  4. Java Insets获取窗口的顶、底、左、右的大小

    import java.awt.Insets; import javax.swing.JFrame; public class NewFrame { public static void main(S ...

  5. CAS—认证原理

    CAS,Central Authentication Service—中央认证服务,是Yale 大学发起的一个企业级的.开源的项目,旨在为Web应用系统提供一种可靠的SSO解决方案.下面简单介绍SSO ...

  6. OpenCV trackbar 避免使用全局变量

    OpenCV trackbar 避免使用全局变量 在OpenCV中使用trackbar是交互式地图像处理的一种方式,例如用于图像阈值分割,用户可以一边调整阈值一边看效果.但是很不幸,绝大多数教程上使用 ...

  7. elasticsearch-HQ 安装与使用

    https://github.com/ElasticHQ/elasticsearch-HQ Download or clone the repository. Open terminal and po ...

  8. 清北合肥day1

    题目: 1.给出一个由0,1组成的环 求最少多少次交换(任意两个位置)使得0,1靠在一起 n<=1000 2.两个数列,支持在第一个数列上区间+1,-1 每次花费为1 求a变成b的最小代价 n& ...

  9. Centos6.5安装Apache ab性能测试工具

    ab简洁: ab是apache自带的压力测试工具,ab是apachebench命令的缩写. ab不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试. ab是一个h ...

  10. 查看name的状态,是属于active还是standby

    sudo -E -u hadoop /home/hadoop/bin/hdfs haadmin -getServiceState nn1 sudo -E -u hadoop /home/hadoop/ ...