用Python操作PDF文件|PyPDF2模块

大家好,欢迎收看思路实验室出品的Python入门教程,我是室长。

PDF文件是一种非常常用的文件格式,它的优势在于文件的内容是完全固定的。我们熟悉的docx文件,有可能在这个版本的word上是一个样子,在另一个版本的word上又是另一个样子。而PDF文件则不然,一旦生成,无论在任何地方打开都是同一个样子,一样的字体,一样的排版……这是PDF的优点,但也带来了一些麻烦,没错,就是PDF文件很难编辑。所以很多时候如果我们想去编辑PDF文件,就不得不借助一些软件甚至是收费软件来实现。

但是,我们现在有了Python,还要用那种不划算的方法来实现我们的目的吗?不!其实我们使用一些模块就可以实现,完全免费!今天我们先来了解一个对PDF进行整体编辑的模块——PyPDF2。

PyPDF2主要用来以页为单位对PDF文件进行拆分、合并以及旋转页面,这些操作也是在办公中需求比较高的操作——用扫描仪自动扫描生成的文档往往需要加以调整。使用PyPDF2进行处理,非常的快速便捷。

PyPDF2的安装名和导入名都是一样的。我们主要使用PyPDF2的读取器PdfReader和写入器PdfWriter:

PyPDF2的基本逻辑是这样的:使用读取器PdfReader读取PDF文档,使用getPage方法获取指定的页,再将页使用addPage方法添加至写入器PdfWriter,最后使用write方法将写入器中的内容存入一个新文档。

假设我们现在扫描了一个页数很多的文件,但发现扫描的设置错误了,把本该单面扫描的文件设成了双面扫描,每个偶数页都是空白的。但是我们又不想重新扫描一遍,该怎么操作呢?我们可以编写这样的代码:

在这里我们对读取器使用numPages方法获取了PDF文档的页数,再使用步长为2的range选取了所有基数页的页码,在for循环中使用getPage方法获取到了奇数页并使用addPage方法将其添加到写入器中。最后使用with open语句新建一个文件,并将写入器中的内容使用write方法写入到新的文件中。

其他的处理方法我们可以举一反三,比如选取某几页或者剔除某几页并存入新的文档中,这些就由大家自己来编写了。

在使用getPage方法获取到某个单一的页面之后,我们可以对其使用rotate方法对其进行旋转。rotate方法只接受±0,±90,±180,±270这些角度,正数为顺时针,负数为逆时针。如果我们扫描的文档中有某页应该是横向的,我们就可以将其旋转:

除了单页操作之外,PyPDF2还提供了整体合并的方法——PdfMerger。它可以让我们直接对多个PDF文档进行合并:

图片正在加载中,请稍后

使用PdfMerger的方便之处在于合并操作的读取和写入过程都只依赖于PdfMerger这一个类。而且PdfMerger在文件整体合并以外还可以支持局部页的插入:

图片正在加载中,请稍后

这里主要使用了PdfMerger的merge方法。merge方法有三个参数,其中position是插入页面的位置(依然是从零开始),position=1意味着插入到第二页。需要注意的是这个position是相对于当前位置来计算的,在有别的页面插入之后相对的位置会发生变化,要计算好。fileobj则是PDF文档对象,而pages则是插入的页面范围,比如pages=(0,2)意味着将这个PDF文档的前两页插入。

这一期我们初步认识了PyPDF2这个操作PDF的神器模块,所涉及到的这些操作覆盖了大部分我们办公室常常会有需要的功能,此外PyPDF2模块还提供了一些其他的小功能,我们在后边的学习中还会介绍到。如果这篇文章对你有所帮助,希望能帮室长点个赞和在看,你的鼓励是室长进步的动力!

标签: 模块 python

最新资讯

文档百科

二次创业的“奶罩”就是要死磕用户密码安全

2011年12月,CSDN爆出泄密门事件,600万明文的用户密码数据库在网络上流传。2014年5月,小米社区800万用户密码数据泄露后被放出。时隔3年多,我们的网络环境安全并没有变得更好,密码泄露事件依然时不时的傍着国内大的互联网公司传播。站长圈的传奇人物奶罩决定站出来,他的二次创业项目“洋葱”就是要死磕用户密码安全。

花露水洗衣服要用驱蚊的还是止痒的

花露水洗衣服要用驱蚊的还是止痒的可以驱蚊花露水,也可以用止痒花露水,两者的主要成分都差不多,都是可以去除油漆的。不过,驱蚊花露水会含有一些驱蚊成分,属于微毒成分,尽量不要用它洗宝宝的衣物。花露水洗衣服好不好洗衣服的时候放一点花露水是很好的。并且,花露水洗衣服是不会损坏衣物的,是比较安全的一种产品。

秃顶初期有没有预兆

早期可查觉的变化是毛囊结缔组织中毛板鞘的下部出现变性,伴血管周围嗜碱性变化。最后脱发区的毛囊生长期缩短,休止期毛囊百分比增高,其毛发松动易掉,表皮菲薄。脱发主要发生于顶额部、发前缘尤其额部两侧发际向后退。如果是天生脱发看似无可救药,那是你没有找到正确的治疗方法,植发手术可以帮助你的头发重新生长出来。

天然粉晶有哪些种类?

而以上的种类是有可能同时存在的,像是芙蓉星光粉晶或者是冰种星光粉晶,当然同时存在两种以上的优良品相粉晶,价格当然会高一点。

蛏子煮多长时间能熟

蛏子煮7分钟左右就成熟了。冷水将蛏子放下去之后,煮7分钟左右,蛏子开口,并且肉质鲜嫩有味道。如果蛏子较多的话,煮至时间需要延长一些,大概控制在10分钟左右比较好。

陈应是什么人?在桂阳时为何i会被赵云生擒?

陈应,小说《三国演义》虚拟人物,为桂阳太守赵范的部将,老资料网小编整理了一下,现在给大家详细说明,快点来看看吧。赵云作为三国时期蜀汉名将,有常胜将军美誉,一生单挑敌将无数,未尝败绩。赵云在攻取桂阳时,遇到一位兵器非常怪异的将领,此人勇力过人,但被赵云生擒,因此,吓得桂阳太守赵范立即投降,可谓干净利落,令人称赞。

CopyRight © 2000~2023 一和一学习网 Inc.All Rights Reserved.
一和一学习网:让父母和孩子一起爱上学习