好工具,可以事半功倍,今天一起学习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('选择需要页合并')

读后感:

  1. 代码分段书写,分析,目的是方便读者阅读理解每小段代码的内涵
  2. 通过解析这些小的代码片断,让大家理解代码运行的逻辑
  3. 通过前后的分析让大家知道python代码还是很容易理解,很容易阅读的

学习体会:

语言的学习不是一个快速的过程,能力的提升,确实需要知识的累积,每一个小的代码的内涵,组合成大段的代码块,大的代码块组合成整个软件体,从而完成系统性工程的创建。
提示每一个学习者不要过于心急,在自己的时间允许范围内,让真敲代码,仔细琢磨代码运行的逻辑,积累多了,你终于在某一天,也会突然感到豁然开朗。

【office办公-pdf篇】pdf合并与拆分让我们摆脱付费软件的功能限制好不好相关推荐

  1. C# 合并、拆分PDF

     在整理文件时,将多个同类型文档合并是实现文档归类的有效方法,也便于文档管理或者文档传输.当然,也可以对一些比较大的文件进行拆分来获取自己想要的部分文档.可以任意地对文档进行合并.拆分无疑为我们了提供 ...

  2. PDF文件怎么合并?看完这篇就懂了!

    不知道小伙伴们有没有这样的经历,那就是准备好一些pdf去打印店打印的时候,本来想要打印双面的,但是店家却表示pdf太小,只能一页一页的单页打印.这就给我们的钱包无形之中增加了很多的负担,因为有时候我们 ...

  3. java中pdfbox处理pdf常用方法(读取、写入、合并、拆分、写文字、写图片)

    本篇文档将介绍pdfbox处理pdf常用方法(读取.写入.合并.拆分.写文字.写图片). 图中为pdfbox用到的包 1.读取pdf 方法代码: /*** 读取pdf中文字信息(全部)* @param ...

  4. java pdf合并_Java 合并、拆分PDF文档

    本文将介绍如何在Java程序中合并及拆分PDF文档,合并文档时,包括合并多个不同PDF文档为一个文档,以及合并PDF文档的不同页面为一页:拆分文档是,包括将PDF文档按每一页拆分,以及按指定页数范围来 ...

  5. png文件合并_程序员学习之在Python中使用PDF:阅读、旋转、合并和拆分

    私信我或关注微信号:猿来如此呀,回复:学习,获取免费学习资源包. PDF 文档格式 今天,可移植文档格式(PDF)属于最常用的数据格式. 1990年,Adobe定义了PDF文档格式. PDF格式背后的 ...

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

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

  7. Linux中如何优雅的批量合并、拆分、加密pdf文件

    痛点 在windows中合并个pdf还要让你冲会员,真的是狗.linux下有没有一款工具能完成对pdf的合并.切分的工具呢? 有: PDFtk 功能 * Merge PDF Documents or ...

  8. [.NET开发] C# 合并、拆分PDF文档

    在整理文件时,将多个同类型文档合并是实现文档归类的有效方法,也便于文档管理或者文档传输.当然,也可以对一些比较大的文件进行拆分来获取自己想要的部分文档.可以任意地对文档进行合并.拆分无疑为我们了提供极 ...

  9. 使用Adobe Acrobat DC完成图像转PDF,PDF拆分,合并,调整尺寸,调整大小

    Use Adobe Acrobat DC to transform Image files to PDF, and split, combine, reshape PDF page, compress ...

  10. python处理PDF合并、拆分、删除、转换

    目录 PDF合并.拆分.删除页面 图片转PDF 举例 PDF合并.拆分.删除页面 2种合并方式:多个文件合并为一个文件,在文件中插入其他文件页面 2种分割方式:文件分割为固定页数,分割提取连续多页 2 ...

最新文章

  1. 北京周末去哪儿 —— 玉渊潭
  2. linux结束进程_生人勿近之Linux里养僵尸
  3. 5.13 卡尔曼滤波
  4. java的比较运算符是_Java 基础(比较运算符,逻辑运算符,三元运算符)
  5. Magento 自定义分页代码 How to change pagination design in product listing page in magen
  6. java 用ajax更新表单,ajax刷新表格,该如何处理
  7. 问答 | 为什么car-like robot需要使用差速器?
  8. Merge Two Sorted Lists Leetcode
  9. 【论文写作】综述论文的六个写作模版
  10. 2013年1月第1个周末
  11. 层级分类(续)-使用B-CNN(Branch CNN)实现
  12. 亮度对比度色调饱和度最佳_数码教程丨如何仿电影胶片色调与质感?
  13. 【功能】:前台上传文件(txt,xls,xlsx,csv,pdf)五种格式的文件 后台java解析文件,并且判断文件内容是否为零字节
  14. 零基础无经验,该怎么学编程,要学多久?
  15. WinSAT 系统评估工具使用
  16. wetool 接入图灵机器人_wetool企业版wetool支持微信版本-免费版
  17. 创建程序编写demo.py文件
  18. 【报告分享】中国消费者洞察报告-领航前所未有(附下载)
  19. Cesium开发基础篇 | 02加载地形数据
  20. Web 安全恩仇录:漏洞原理

热门文章

  1. JavaScript 判断是不是回文字符串
  2. 浙大计算机考研分数线2016,2016浙江大学考研复试分数线
  3. 机器学习——鸢尾花数据集
  4. springboot在线银行贷款系统毕业设计源码281444
  5. ubuntu16.04安装iNode客户端简易教程
  6. C# List集合排序方法小结
  7. 情绪管理训练APP的产品概念分析
  8. scratch优秀案例-中国风-西游记故事系列之孙悟空为何大战白骨精
  9. 计算机网络提出问题,南昌大学高级计算机网络课堂提问及详解.doc
  10. Ubuntu安装 Killer Wireless-AC 1550 Wireless 无线网卡驱动