python之pdf分页_Qin1999的博客-CSDN博客_pdf分页python

python之pdf合并_Qin1999的博客-CSDN博客

本文来源以上两篇文章进行的总结

一、安装PyPDF2,通过命令 pip install PyPDF2

二、拆分

import os
from PyPDF2 import PdfFileReader, PdfFileWriter#参数                 pdf文件位置 页数大小
def pdfPageingAndSize(filePath,pageSize=1):fileDir,fileName=os.path.split(filePath)fileNameExceptSuffix=fileName.split('.')[0]#创建输出文件夹outputDir=str(fileNameExceptSuffix)+"_pdf_output_dir"os.mkdir(os.path.join(fileDir,outputDir))#输出文件夹的路径OutputDirFile=os.path.join(fileDir,outputDir)inputPdf = PdfFileReader(filePath, "rb")# 获得源PDF文件中页面总数pageNumber = inputPdf.getNumPages()print("页数:%d"%pageNumber)count=0output = PdfFileWriter()for index in range(pageNumber):count+=1output.addPage(inputPdf.getPage(index))outPdfName='1-'+str(count)+'.pdf'#每隔pageSize个页做一个pdfif(count%pageSize==0):outPdfName="pages-"+str(count-pageSize+1)+"-"+str(count)+'.pdf'outputStream = open(os.path.join(OutputDirFile, outPdfName), "wb")output.write(outputStream)outputStream.close()output = PdfFileWriter()#如果有些pdf不是pageSize的倍数,则需要单独保存if(pageNumber%pageSize):number=pageNumber%pageSizestart=pageNumber-number+1end=pageNumberoutPdfName="pages-"+str(start)if(start!=end):outPdfName=outPdfName+"-"+str(end)outPdfName=outPdfName+'.pdf'outputStream = open(os.path.join(OutputDirFile, outPdfName), "wb")output.write(outputStream)outputStream.close()#此文件和PDF放在同一文件夹内
filePath="2022.pdf"
#按pageSize的数量进行拆分
pdfPageingAndSize(filePath,pageSize=1)

三、合并

import os
from PyPDF2 import PdfFileReader, PdfFileWriter# 参数       文件路径  输出文件名
def pdfUnit(filePath,outPdfName):totalFile=os.listdir(filePath)output = PdfFileWriter()outputPages=0for each in totalFile:eachFilePath=os.path.join(filePath, each)inputPdf = PdfFileReader(eachFilePath, "rb")# 获得源PDF文件中页面总数pageNumber = inputPdf.getNumPages()outputPages += pageNumberprint("页数:%d"%pageNumber)# 分别将page添加到输出output中for index in range(pageNumber):output.addPage(inputPdf.getPage(index))outputStream = open(os.path.join(filePath, outPdfName), "wb")output.write(outputStream)outputStream.close()filePath=r"C:\Users\xxx\Desktop\pdf"
pdfUnit(filePath,'total.pdf')

这里可以根据实际需要进行相关环节代码的修改,这里自己做一个记录,感谢原博主。

python 对 PDF 的拆分 和合并相关推荐

  1. 80行代码自己动手用python写一个表格拆分与合并小工具

    大家好,我是才哥. 可能是最近加班熬夜太多,这个周末身体不舒服,头痛.冷汗什么的.终于在连着睡了接近2天后,现在慢慢恢复了. 最近有新朋友看到之前<>,想问下有没有免费的小工具,可以进行表 ...

  2. 【Python】用Python实现PDF文件分割和合并

    有的时候有剪裁PDF的需求,虽然有软件实现了这样的功能,但有时候会遇到这种情况 既然如此,为何不自己实现这个功能呢?上代码 # 导入读写pdf模块 from PyPDF2 import PdfFile ...

  3. PDF 补丁丁 (修改PDF书签;拆分、合并、制作PDF;提取图片) 0.3.0.8 正式版

    PDF 补丁丁 0.3.0.8 正式版 新版本已经发布,请到博客首页下载. 软件简介 PDF补丁丁是一个用于修改PDF文件信息的工具.它具有以下功能: ■ 修改文档(带"*"号部分 ...

  4. python处理pdf文件的程序_Python处理PDF文档-拆分合并

    使用Python处理PDF文档.将需要处理的PDF文档与处理程序放到一个新建的文件夹中.运行程序. S模式,将单个PDF文档拆分到单页,并以数字命名. image.png C模式,合并文档,需要提前将 ...

  5. python实现拆分、合并、删除pdf

    PDF(Portable Document Format),中文名称便携文档格式是我们经常会接触到的一种文件格式,文献.文档-很多都是PDF格式.它以格式稳定的优势,使得我们在打印.分享.传输过程中能 ...

  6. python操作pdf做文档的分割、合并,内容提取

    Python 操作 PDF 会用的库:PyPDF2 和 pdfplumber PyPDF2 可以更好的读取.写入.分割.合并PDF文件: pdfplumber 可以更好的读取 PDF 文件中内容和提取 ...

  7. PDF文件拆分合并器PDF Merge PDF Splitter + Mac

    PDF Merge & PDF Splitter + Mac是专为Mac用户所提供的PDF文件拆分合并器,PDF Merge & PDF Splitter + Mac版能够为您将快速多 ...

  8. PDF怎么拆分/合并? 3款 PDF 拆分和合并工具分享

    以PDF格式传输文档已广泛使用很长时间,也是传输文档的最常见方式之一.但是,当涉及到从众多PDF文件中提取特定页面并将它们放在一起以制作新的PDF文档时,我们将需要专用软件来合并和拆分多个PDF. 现 ...

  9. JAVA合并pdf,拆分pdf文档

    毕业材料整理的时候要合并pdf文档,把一些文档按页码拆分出来,我本来想用wps弄的,但是它要vip,就这?就vip?哼,身为一个计算机毕业的,这种小事与其再去网上找别的软件解决,不如自己代码解决.(其 ...

  10. python对PDF分割、合并、裁剪等

    PyPDF2 PyPDF2是一个第三方的python PDF库,它能够对PDF文件进行分割.合并.裁剪和转换页面. 另外,它还可以对PDF文件添加自定义数据.水印.密码,也可以从PDF文件中检索出文本 ...

最新文章

  1. 用Eclipse开发JavaWeb项目:错误信息 javax.servlet.http.HttpServlet was not found on the Java Build Path...
  2. opencv 图像阈值分割图像
  3. 【运营干货】段子手打死也不会告诉广告主的事:一篇新媒体文案如何才能引发用户分享?...
  4. Android 文件下载的三种基本方式
  5. [leetcode-54-Spiral Matrix]
  6. 帧中继(Frame Relay)实验
  7. 用Python开始机器学习(4:KNN分类算法)
  8. Silverlight 2 Beta 1版本缺陷列表
  9. 自动化的NSX网络交付
  10. 如何成为一个优秀的C++开发工程师?
  11. python输出文本文件_Python进阶02 文本文件的输入输出
  12. cvCalcBackProjectPatch() 基于块的反向投影
  13. 基于ATMEGA128单片机的播种机控制系统
  14. 【基础】SAP 新增计量单位
  15. python学习——pandas查看数据集null值:isnull
  16. python反素数_可逆素数-随心随性无为而为-51CTO博客
  17. 华为云IoT设备接入服务全体验
  18. 221007工作日志:SPSS logistic回归分析结果释读详解
  19. 文科生学python,可能吗?
  20. MVC、MVVM、MVP

热门文章

  1. win禁用shift切换输入法
  2. “但问耕耘,莫问收获”才有机会“碰运气”——新书《成功与运气:好运和精英社会的神话》解读
  3. EXCEL( 获得指定列的最后一个非空单元格)
  4. 用shell脚本在consul注册exporter服务
  5. 从Transformer、BERT到GPT2和XLNet:高端玩家如何用论文互怼
  6. hbase metric 监控项
  7. 抖音超火的数字炸弹 c++ 实现
  8. input number 小数_inputtype=number的小数问题
  9. 你的成就只能代表着你过去的努力程度
  10. selenium爬取淘宝评论信息