【office办公-pdf篇】pdf合并与拆分让我们摆脱付费软件的功能限制好不好
好工具,可以事半功倍,今天一起学习Pdf合与分
工具模块PyPDF2
层次分析—文件路径与文件读取与保存
读入文件夹:
data\in
读入文件名:temp.pdf
保存文件夹:
data\out
保存文件,1.pdf,2.pdf,3.pdf…
合并文件:
431.pdf
层次分析—从文件中取出每一页
pdf_writer = PdfFileWriter()page = pdfReader.getPage(page_no)pdf_writer.addPage(page)
层次分析—从文件中取出每一页
构造出包括路径和每一页文件名的路径信息
file ='{0}.pdf'.format(page_no + 1)outfile = os.path.join(outdir,file)
层次分析—创建路径信息到硬盘,同时调用pdf_writer中的保存的页面信息,写入到指定outfile位置
注:output_pdf是接收来自pdf_writer的写入信息的。
with open(outfile,'wb') as output_pdf:pdf_writer.write(output_pdf)print('拆分并把文件写入')
层次分析—重新建立写变量pdf_wrigter,指定序号为3,0,2页面添加到pdf_writer中(合并)
pdf_writer = PdfFileWriter()pdf_writer.addPage(pdfReader.getPage(3))pdf_writer.addPage(pdfReader.getPage(0))pdf_writer.addPage(pdfReader.getPage(2))
层次分析—重新建立文件名,路径,完成文件信息,通过with open()写入硬盘,完成合并后的写入操作
file = '431.pdf'outfile = os.path.join(outdir,file)with open(outfile,'wb') as output_pdf:pdf_writer.write(output_pdf)print('选择需要页合并')
以下为完整的代码
# coding = utf-8
from PyPDF2 import *
import os
indir = r'data\in'
outdir = r'data\out'
infile = os.path.join(indir,'temp.pdf') #读取文件路径
pdfReader = PdfFileReader(infile)for page_no in range(pdfReader.numPages):pdf_writer = PdfFileWriter()page = pdfReader.getPage(page_no)pdf_writer.addPage(page)file ='{0}.pdf'.format(page_no + 1)outfile = os.path.join(outdir,file)with open(outfile,'wb') as output_pdf:pdf_writer.write(output_pdf)print('拆分完成')pdf_writer = PdfFileWriter()pdf_writer.addPage(pdfReader.getPage(3))pdf_writer.addPage(pdfReader.getPage(0))pdf_writer.addPage(pdfReader.getPage(2))file = '431.pdf'outfile = os.path.join(outdir,file)with open(outfile,'wb') as output_pdf:pdf_writer.write(output_pdf)print('选择需要页合并')
读后感:
- 代码分段书写,分析,目的是方便读者阅读理解每小段代码的内涵
- 通过解析这些小的代码片断,让大家理解代码运行的逻辑
- 通过前后的分析让大家知道python代码还是很容易理解,很容易阅读的
学习体会:
语言的学习不是一个快速的过程,能力的提升,确实需要知识的累积,每一个小的代码的内涵,组合成大段的代码块,大的代码块组合成整个软件体,从而完成系统性工程的创建。
提示每一个学习者不要过于心急,在自己的时间允许范围内,让真敲代码,仔细琢磨代码运行的逻辑,积累多了,你终于在某一天,也会突然感到豁然开朗。
【office办公-pdf篇】pdf合并与拆分让我们摆脱付费软件的功能限制好不好相关推荐
- C# 合并、拆分PDF
在整理文件时,将多个同类型文档合并是实现文档归类的有效方法,也便于文档管理或者文档传输.当然,也可以对一些比较大的文件进行拆分来获取自己想要的部分文档.可以任意地对文档进行合并.拆分无疑为我们了提供 ...
- PDF文件怎么合并?看完这篇就懂了!
不知道小伙伴们有没有这样的经历,那就是准备好一些pdf去打印店打印的时候,本来想要打印双面的,但是店家却表示pdf太小,只能一页一页的单页打印.这就给我们的钱包无形之中增加了很多的负担,因为有时候我们 ...
- java中pdfbox处理pdf常用方法(读取、写入、合并、拆分、写文字、写图片)
本篇文档将介绍pdfbox处理pdf常用方法(读取.写入.合并.拆分.写文字.写图片). 图中为pdfbox用到的包 1.读取pdf 方法代码: /*** 读取pdf中文字信息(全部)* @param ...
- java pdf合并_Java 合并、拆分PDF文档
本文将介绍如何在Java程序中合并及拆分PDF文档,合并文档时,包括合并多个不同PDF文档为一个文档,以及合并PDF文档的不同页面为一页:拆分文档是,包括将PDF文档按每一页拆分,以及按指定页数范围来 ...
- png文件合并_程序员学习之在Python中使用PDF:阅读、旋转、合并和拆分
私信我或关注微信号:猿来如此呀,回复:学习,获取免费学习资源包. PDF 文档格式 今天,可移植文档格式(PDF)属于最常用的数据格式. 1990年,Adobe定义了PDF文档格式. PDF格式背后的 ...
- PDF文件拆分合并器PDF Merge PDF Splitter + Mac
PDF Merge & PDF Splitter + Mac是专为Mac用户所提供的PDF文件拆分合并器,PDF Merge & PDF Splitter + Mac版能够为您将快速多 ...
- Linux中如何优雅的批量合并、拆分、加密pdf文件
痛点 在windows中合并个pdf还要让你冲会员,真的是狗.linux下有没有一款工具能完成对pdf的合并.切分的工具呢? 有: PDFtk 功能 * Merge PDF Documents or ...
- [.NET开发] C# 合并、拆分PDF文档
在整理文件时,将多个同类型文档合并是实现文档归类的有效方法,也便于文档管理或者文档传输.当然,也可以对一些比较大的文件进行拆分来获取自己想要的部分文档.可以任意地对文档进行合并.拆分无疑为我们了提供极 ...
- 使用Adobe Acrobat DC完成图像转PDF,PDF拆分,合并,调整尺寸,调整大小
Use Adobe Acrobat DC to transform Image files to PDF, and split, combine, reshape PDF page, compress ...
- python处理PDF合并、拆分、删除、转换
目录 PDF合并.拆分.删除页面 图片转PDF 举例 PDF合并.拆分.删除页面 2种合并方式:多个文件合并为一个文件,在文件中插入其他文件页面 2种分割方式:文件分割为固定页数,分割提取连续多页 2 ...
最新文章
- 各类机器学习问题的最优结果合集!附论文及实现地址索引
- boost::signals2::signal_type相关的测试程序
- java 绘图球的移动_求助在JFrame上绘制移动的小球
- c++语言偶数分离,在C++的链表中分离偶数和奇数节点
- 【Computer Organization笔记18】大实验讨论:控制器设计、指令流程表
- Python机器学习及实践——特征降维
- 一文读懂:DNA甲基化的作用及各种高通量检测方法比较
- @ResponseBody对象有空属性报错
- 计算机软件著作权评估
- Linux-fsck.ext4
- excel表格横向纵向变换_EXCEL打印妙招!(专为新手打造)!
- IE系列浏览器把application/json响应视为文件,并尝试下载
- 开源中国广州源创会分享
- 什么叫地推模式_地推模式一般使用什么方法可以成功?
- 北邮在线计算机,北邮在线圆我IT梦
- Windows10下安装配置Maven
- 那些年啊,那些事——一个程序员的奋斗史 ——26
- 不管怎样,苹果公司仍然是全球最有价值的公司
- Ubuntu20.04安装360浏览器
- kaldi查看不同文件的命令集锦
热门文章
- 华为盒子 鸿蒙,华为盒子真不值得买,网友总结了3个原因
- 工业机器人编程语言c语言,工业机器人编程语言和编程方式
- 使用wsimport命令将wsdl文件生成服务端以及客户端
- SPSS操作(五):主成分分析
- 川崎机器人示教盒维修_川崎示教器维修 大连川崎机器人控制器维修 川崎伺服电机维修...
- 一文读懂品质体系认证,学会判断 PCB 板厂生产资质
- 算法与数据结构面试题(6)-腾讯面试题
- STM32串口通信UARTx
- ArcGIS 拓扑验证与编辑共享要素
- Python数据分析《黑客帝国》-一切都不是偶然