忽然发现需要有一个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相关推荐

  1. 用python汇总pdf文件_Python处理PDF文件-简译与总结

    最近看到一篇介绍Python中pyPDF模块的文章,详细介绍了使用pyPDF模块获取PDF文件信息,合并拆分PDF文件等功能.很方便,在此搬运分享以下: 全文介绍了以下几方面的功能 提取文件信息 旋转 ...

  2. python处理pdf 层_Python处理PDF及生成多层PDF实例代码

    Python提供了众多的PDF支持库,本文是在Python3环境下,试用了两个库来完成PDF的生成的功能.PyPDF对于读取PDF支持较好,但是没找到生成多层PDF的方法.Reportlab看起来更成 ...

  3. python读取pdf文件_python读取pdf文件

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 一.安装pdfminer3k模块?二. 读取pdf文件import sysimp ...

  4. python不可以处理pdf文件_Python处理PDF文件-简译与总结

    最近看到一篇介绍Python中pyPDF模块的文章,详细介绍了使用pyPDF模块获取PDF文件信息,合并拆分PDF文件等功能.很方便,在此搬运分享以下: 全文介绍了以下几方面的功能 提取文件信息 旋转 ...

  5. 用python画熊_Python绘制PDF,CDF

    PDF,CDF 正态分布的PDF和CDF对比: PDF:概率密度函数(probability density function) CDF : 累积分布函数 (cumulative distributi ...

  6. python画轮廓_python 分割 画图像的轮廓 - 程序园

    python 分割 画图像的轮廓 import numpy as np import cv2 __author__ = 'xinyang' Img_N = 130 algo_seg_folder = ...

  7. python pdf报告_python生成pdf报告、python实现html转换为pdf报告

    1.先说下html转换为pdf:其实支持直接生成,有三个函数pdfkit.f 安装python包:pip Install pdfkit 系统安装wkhtmltopdf:参考 https://githu ...

  8. python处理pdf实例_python实现pdf转word的例子

    pdf转word的效果一般都很差,下面使用pdfminer和docx框架,前者用来读取pdf的文本内容,后者用来写到word文件中.仅作入门级参考. 例子如下: #!/usr/bin/env pyth ...

  9. python虚拟机管理系统_python 虚拟机 pdf

    2.Python3 环境搭建 如何在本地搭建 Python3 开发环境? Python3 可应用于多平台包括 Windows.Linux 和 Mac OS X. Unix (Solaris, Linu ...

最新文章

  1. html5新布局,支持HTML5新布局 酷盘Web版全新升级
  2. git checkout .的用法
  3. Algorithms_算法专项_Bitmap原理及应用
  4. 即时通讯 IM 开发指南 1:如何进行技术选型
  5. Visual Web Developer 中的网站类型
  6. JAVA→XML解析EXtensible Markup Language、JSON解析JavaScript Object Notation
  7. LeetCode 6罗马数字转整数
  8. Cocos Creator学习のTiledMap
  9. 贝塔朗菲的一般系统论:系统的有序性和目的性
  10. 关于获得淘宝商品评论的那些事
  11. 二值图像快速细化算法
  12. linux pvs命令安装,使用linux的pvs命令格式化输出物理卷信息报表
  13. SpringBoot整合grpc
  14. CTFshow——web入门——sql注入
  15. 肥鲨HDO和HD3买哪个?
  16. 通过抓包判断是否支持 802.11k and 11r
  17. 视频监控网络使用PON网络传输解决方案相关问题解答
  18. day08 C语言初阶——例题:计算n的阶乘,计算1!+2!+3!+...+10!
  19. fiddler抓包工具安装,配置https、移动端抓包、弱网设置
  20. 交换机口不够用能再加一个吗_实现交换机网线延长250米的两种方式,掌握后能避免踩雷...

热门文章

  1. 用关键词获取店铺详情
  2. 人机交互-7-交互需求定义
  3. 【Linux】WARNING: The script locust is installed in ‘/home/xxx/bin‘ which is not on PATH.
  4. JS字符串转Byte[]
  5. Android软件开发环境搭建
  6. IDEA打开多个窗口
  7. Linux命令修改文件名和文件夹名
  8. norflash/nandflash 启动分析
  9. 解析数组里面包含数组的json格式的数据代码
  10. 单片机与PC机串口通信编程