python pdf分割_Python分割PDF
忽然发现需要有一个PDF分割器的功能,以前有Adobe Acrobat安装时,自带PDF打印机。现在卸载了Acrobat,没有PDF打印机,不能实现打印多少页的功能。
自然想到Python的PyPDF2模块。
在原先的合并PDF中的代码,修改一下,应该就可以。比如我要拷贝PDF文件中的前面4页。
# -*- coding:utf-8*-
# 利用PyPDF2模块合并同一文件夹下的所有PDF文件
# 只需修改存放PDF文件的文件夹变量:file_dir 和 输出文件名变量: outfile
import os
from PyPDF2 import PdfFileReader, PdfFileWriter
import time
# 使用os模块的walk函数,搜索出指定目录下的全部PDF文件
# 获取同一目录下的所有PDF文件的绝对路径
def getFileName(filedir):
file_list = [os.path.join(root, filespath) \
for root, dirs, files in os.walk(filedir) \
for filespath in files \
if str(filespath).endswith('pdf')
]
return file_list if file_list else []
# 合并同一目录下的所有PDF文件
def MergePDF(filepath, outfile):
output = PdfFileWriter()pdf_fileName = getFileName(filepath)
if pdf_fileName:
for pdf_file in pdf_fileName:
print("path:%s"%pdf_file)
# 读取源PDF文件
input = PdfFileReader(open(pdf_file, "rb"))
# 获得源PDF文件中页面总数
pageCount = input.getNumPages()# 分别将page添加到输出output中
for iPage in range(pageCount):
# 添加条件判断
if iPage <=3: #这样就可以保存前面4页了,或者有其他的组合,按实际需要
output.addPage(input.getPage(iPage))
# 写入到目标PDF文件
outputStream = open(os.path.join(filepath, outfile), "wb")
output.write(outputStream)
outputStream.close()
print("PDF split complete!")
else:
print("nothing to split")
# 主函数
def main():
time1 = time.time()
file_dir = r'd:\downloads\pdf\' # 存放PDF的原文件夹
outfile = "split.pdf" # 输出的PDF文件的名称
MergePDF(file_dir, outfile)
time2 = time.time()
print('time consumed %s s.' %(time2 - time1))
main()
需要注意的是,这个文件夹下不能有其他的PDF文件。
python pdf分割_Python分割PDF相关推荐
- 用python汇总pdf文件_Python处理PDF文件-简译与总结
最近看到一篇介绍Python中pyPDF模块的文章,详细介绍了使用pyPDF模块获取PDF文件信息,合并拆分PDF文件等功能.很方便,在此搬运分享以下: 全文介绍了以下几方面的功能 提取文件信息 旋转 ...
- python处理pdf 层_Python处理PDF及生成多层PDF实例代码
Python提供了众多的PDF支持库,本文是在Python3环境下,试用了两个库来完成PDF的生成的功能.PyPDF对于读取PDF支持较好,但是没找到生成多层PDF的方法.Reportlab看起来更成 ...
- python读取pdf文件_python读取pdf文件
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 一.安装pdfminer3k模块?二. 读取pdf文件import sysimp ...
- python不可以处理pdf文件_Python处理PDF文件-简译与总结
最近看到一篇介绍Python中pyPDF模块的文章,详细介绍了使用pyPDF模块获取PDF文件信息,合并拆分PDF文件等功能.很方便,在此搬运分享以下: 全文介绍了以下几方面的功能 提取文件信息 旋转 ...
- 用python画熊_Python绘制PDF,CDF
PDF,CDF 正态分布的PDF和CDF对比: PDF:概率密度函数(probability density function) CDF : 累积分布函数 (cumulative distributi ...
- python画轮廓_python 分割 画图像的轮廓 - 程序园
python 分割 画图像的轮廓 import numpy as np import cv2 __author__ = 'xinyang' Img_N = 130 algo_seg_folder = ...
- python pdf报告_python生成pdf报告、python实现html转换为pdf报告
1.先说下html转换为pdf:其实支持直接生成,有三个函数pdfkit.f 安装python包:pip Install pdfkit 系统安装wkhtmltopdf:参考 https://githu ...
- python处理pdf实例_python实现pdf转word的例子
pdf转word的效果一般都很差,下面使用pdfminer和docx框架,前者用来读取pdf的文本内容,后者用来写到word文件中.仅作入门级参考. 例子如下: #!/usr/bin/env pyth ...
- python虚拟机管理系统_python 虚拟机 pdf
2.Python3 环境搭建 如何在本地搭建 Python3 开发环境? Python3 可应用于多平台包括 Windows.Linux 和 Mac OS X. Unix (Solaris, Linu ...
最新文章
- html5新布局,支持HTML5新布局 酷盘Web版全新升级
- git checkout .的用法
- Algorithms_算法专项_Bitmap原理及应用
- 即时通讯 IM 开发指南 1:如何进行技术选型
- Visual Web Developer 中的网站类型
- JAVA→XML解析EXtensible Markup Language、JSON解析JavaScript Object Notation
- LeetCode 6罗马数字转整数
- Cocos Creator学习のTiledMap
- 贝塔朗菲的一般系统论:系统的有序性和目的性
- 关于获得淘宝商品评论的那些事
- 二值图像快速细化算法
- linux pvs命令安装,使用linux的pvs命令格式化输出物理卷信息报表
- SpringBoot整合grpc
- CTFshow——web入门——sql注入
- 肥鲨HDO和HD3买哪个?
- 通过抓包判断是否支持 802.11k and 11r
- 视频监控网络使用PON网络传输解决方案相关问题解答
- day08 C语言初阶——例题:计算n的阶乘,计算1!+2!+3!+...+10!
- fiddler抓包工具安装,配置https、移动端抓包、弱网设置
- 交换机口不够用能再加一个吗_实现交换机网线延长250米的两种方式,掌握后能避免踩雷...
热门文章
- 用关键词获取店铺详情
- 人机交互-7-交互需求定义
- 【Linux】WARNING: The script locust is installed in ‘/home/xxx/bin‘ which is not on PATH.
- JS字符串转Byte[]
- Android软件开发环境搭建
- IDEA打开多个窗口
- Linux命令修改文件名和文件夹名
- norflash/nandflash 启动分析
- 解析数组里面包含数组的json格式的数据代码
- 单片机与PC机串口通信编程