Python处理PDF和Word文档的模块是PyPDF2,使用之前需要先导入。

打开一个PDF文档的操作顺序是:用open()函数打开文件并用一个变量来接收,然后把变量给传递给PdfFileReader对象,形成一个PdfFileReader对象,这样用PdfFileReader对象下面的各种方法、属性去操作PDF文档。

PdfFileReader对象常用方法:

(1)、PyPDF2.PdfFileReader()方法:代表一个PdfFileReader对象。

(2)、getPage() 方法:获取FDF文档页数;

(3)、extractText()方法:获取当前PDF文档当前页面的文本内容。

(4)、decrypt()方法:用来给加密的PDF文档接收密码(解密);

(5)、rotateClockwise()和 rotateCounterClockwise()方法:可以将文档旋转90/180/270度;

(6)、mergePage()方法:用来叠加PDF文档页面(类似加水印);

PdfFileReader对象常用属性:

(1)、pdfReader.numPages 属性:获取当前文档对象总页数。

(2)、 isEncrypted 属性:用于判断PDF文档是否是加密的,如果是加密的,返回True,否则返回False.

(3)、

例如:

>>> import PyPDF2
>>> pdfFileObj = open('meetingminutes.pdf', 'rb')
>>> pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
 >>> pdfReader.numPages
19
 >>> pageObj = pdfReader.getPage(0)
 >>> pageObj.extractText()

 PdfFileWriter 对象

操作顺序:

1.打开一个或多个已有的 PDF(源 PDF) ,得到 PdfFileReader 对象。
2.创建一个新的 PdfFileWriter 对象。
3.将页面从 PdfFileReader 对象拷贝到 PdfFileWriter 对象中。
4.最后,利用 PdfFileWriter 对象写入输出的 PDF。

PdfFileWriter 对象常用方法:

addPage()方法:将源PDF文档页面添加到新的PDF文档里面(复制)。

write()方法:将PdfFileWriter 对象保存的信息写入到变量(文件)中。

encrypt() 方法:用来给文档加密,在文件写入前使用此方法,可以给文档进行加密。


例如:

import  PyPDF2
minutesFile=open('meetingminutes.pdf','rb')
pdfReader=PyPDF2.PdfFileReader(minutesFile)
page=pdfReader.getPage(0)
print(page.rotateClockwise(90))
pdfWriter=PyPDF2.PdfFileWriter() ###创建一个PdfFileWriter()对象;
pdfWriter.addPage(page) ##把复制的源PDF的page页面添加到新的PdfFileWriter() 对象中;
pdfoutFile=open('rotatedPage.pdf','wb') ###打开一个名为“rotatedPage.pdf”的文档(没有则新建),然后用一个pdfoutFile变量来接收它。
pdfWriter.write(pdfoutFile) ####用PdfFileWriter()对象的write方法写入到变量中;
pdfoutFile.close()
minutesFile.close()

Python处理PDF和Word文档常用的方法的更多相关文章

  1. Python处理PDF和Word文档常用的方法(二)

    Python处理word时,需要安装和导入python-docx模块. 安装命令:pip install python-docx 导入命令:import docx 编码编写顺序:用docx.Docum ...

  2. 判断pdf、word文档、图片等文件类型(格式)、大小的简便方法

    判断pdf.word文档.图片等文件类型(格式).大小的简便方法 很久没发文了,今天有时间就写一下吧. 关于上传文件,通常我们都需要对其进行判断,限制上传的类型,如果是上传图片,我们甚至会把图片转化成 ...

  3. 使用python编辑和读取word文档

    python调用word接口主要用到的模板为python-docx,基本操作官方文档有说明. python-docx官方文档地址 使用python新建一个word文档,操作就像文档里介绍的那样: fr ...

  4. pdf及word文档的读取 pyPDF2,docx

    #!python3 #-*- coding:utf8 -*- #PyPDF2可能会打不开某些pdf文档,也不能提取图片,图表或者其他媒介从PDF文件中.但是它能提取文本从PDF中,转化为字符. imp ...

  5. Python用python-docx读写word文档

    python-docx库可用于创建和编辑Microsoft Word(.docx)文件.官方文档:https://python-docx.readthedocs.io/en/latest/index. ...

  6. word文档自动生成方法

    创建word文档需要几个接口类,常用application,document,documents,selection等.但word的功能复杂,要认识到每一个类的功能是不可能的.常用的方法是在word的 ...

  7. C#中5步完成word文档打印的方法

    在日常工作中,我们可能常常需要打印各种文件资料,比如word文档.对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工作.特别是提到Web打印,这的确会很棘手.一般如果要想选 ...

  8. PDF转word文档

    本文未对扫描版的PDF实验,但是可编辑PDF版本可以转换为word而且转换后的word是可编辑的. 1.从http://xiazai.zol.com.cn/detail/33/326858.shtml ...

  9. word文档常用的格式操作(分页、分节、每一节如何设置页码、以及生成目录)

    分页: 分节: 自动生成目录:

随机推荐

  1. C. Serval and Parenthesis Sequence 【括号匹配】 Codeforces Round #551 (Div. 2)

    冲鸭,去刷题:http://codeforces.com/contest/1153/problem/C C. Serval and Parenthesis Sequence time limit pe ...

  2. 分布式唯一ID的几种生成方案

    前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID.退款ID等.那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是十 ...

  3. nginx学习要点记录

    IO多路复用: 1.轻量 2.cpu亲和性:把CPU核心和nginx工作进程绑定,把每个worker进程固定在一个CPU上执行,减少切换cpu的cache miss,获得更好的性能 3.IO多路复用e ...

  4. python logging模块按天滚动简单程序

    简单日志按天滚动,加入apsheduler,用crontab模式按小时运行测试: import logging from logging.handlers import TimedRotatingFi ...

  5. C语言程序设计I—第十周教学

    第十周教学总结(04/11-10/11) 教学内容 第4章 循环结构-while /do-while语句 4.1用格里高利公式求π的近似值,4.2 统计一个整数的位数 课前准备 在蓝墨云班课发布资源: ...

  6. [图解tensorflow源码] Graph 图模块 (UML视图)

  7. 用NDK生成so给第三方用

    参考了https://blog.csdn.net/zi413293813/article/details/50074239 然后自己重新整理补充 我用的ndk-r10d ndk下载地址http://d ...

  8. DQL-分页查询

    关键字 :limit 一.应用场景当要查询的条目数太多,一页显示不全二.语法 select 查询列表from 表limit [offset,]size;注意:offset代表的是起始的条目索引,默认从 ...

  9. mysql5.7.22 下载过程

    进入官网www.mysql.com ,选择downloads: 选择 Community 再选择MySQL community server 选择5.7的版本,这个看自己选择,有问题看标题 选择5.7 ...

  10. vue指令:v-model绑定表单控件;v-model与v-bind结合使用

    一.v-model绑定表单控件 v-model 双向数据绑定:一般用于表单元素,会忽略表单元素的value.checked.selected的初始值,且将Vue实例的数据作为数据来源. 1. 单行文本 ...