【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 ...
最新文章
- 北京周末去哪儿 —— 玉渊潭
- linux结束进程_生人勿近之Linux里养僵尸
- 5.13 卡尔曼滤波
- java的比较运算符是_Java 基础(比较运算符,逻辑运算符,三元运算符)
- Magento 自定义分页代码 How to change pagination design in product listing page in magen
- java 用ajax更新表单,ajax刷新表格,该如何处理
- 问答 | 为什么car-like robot需要使用差速器?
- Merge Two Sorted Lists Leetcode
- 【论文写作】综述论文的六个写作模版
- 2013年1月第1个周末
- 层级分类(续)-使用B-CNN(Branch CNN)实现
- 亮度对比度色调饱和度最佳_数码教程丨如何仿电影胶片色调与质感?
- 【功能】:前台上传文件(txt,xls,xlsx,csv,pdf)五种格式的文件 后台java解析文件,并且判断文件内容是否为零字节
- 零基础无经验,该怎么学编程,要学多久?
- WinSAT 系统评估工具使用
- wetool 接入图灵机器人_wetool企业版wetool支持微信版本-免费版
- 创建程序编写demo.py文件
- 【报告分享】中国消费者洞察报告-领航前所未有(附下载)
- Cesium开发基础篇 | 02加载地形数据
- Web 安全恩仇录:漏洞原理
热门文章
- JavaScript 判断是不是回文字符串
- 浙大计算机考研分数线2016,2016浙江大学考研复试分数线
- 机器学习——鸢尾花数据集
- springboot在线银行贷款系统毕业设计源码281444
- ubuntu16.04安装iNode客户端简易教程
- C# List集合排序方法小结
- 情绪管理训练APP的产品概念分析
- scratch优秀案例-中国风-西游记故事系列之孙悟空为何大战白骨精
- 计算机网络提出问题,南昌大学高级计算机网络课堂提问及详解.doc
- Ubuntu安装 Killer Wireless-AC 1550 Wireless 无线网卡驱动