Python处理PDF和Word文档常用的方法
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文档常用的方法的更多相关文章
- Python处理PDF和Word文档常用的方法(二)
Python处理word时,需要安装和导入python-docx模块. 安装命令:pip install python-docx 导入命令:import docx 编码编写顺序:用docx.Docum ...
- 判断pdf、word文档、图片等文件类型(格式)、大小的简便方法
判断pdf.word文档.图片等文件类型(格式).大小的简便方法 很久没发文了,今天有时间就写一下吧. 关于上传文件,通常我们都需要对其进行判断,限制上传的类型,如果是上传图片,我们甚至会把图片转化成 ...
- 使用python编辑和读取word文档
python调用word接口主要用到的模板为python-docx,基本操作官方文档有说明. python-docx官方文档地址 使用python新建一个word文档,操作就像文档里介绍的那样: fr ...
- pdf及word文档的读取 pyPDF2,docx
#!python3 #-*- coding:utf8 -*- #PyPDF2可能会打不开某些pdf文档,也不能提取图片,图表或者其他媒介从PDF文件中.但是它能提取文本从PDF中,转化为字符. imp ...
- Python用python-docx读写word文档
python-docx库可用于创建和编辑Microsoft Word(.docx)文件.官方文档:https://python-docx.readthedocs.io/en/latest/index. ...
- word文档自动生成方法
创建word文档需要几个接口类,常用application,document,documents,selection等.但word的功能复杂,要认识到每一个类的功能是不可能的.常用的方法是在word的 ...
- C#中5步完成word文档打印的方法
在日常工作中,我们可能常常需要打印各种文件资料,比如word文档.对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工作.特别是提到Web打印,这的确会很棘手.一般如果要想选 ...
- PDF转word文档
本文未对扫描版的PDF实验,但是可编辑PDF版本可以转换为word而且转换后的word是可编辑的. 1.从http://xiazai.zol.com.cn/detail/33/326858.shtml ...
- word文档常用的格式操作(分页、分节、每一节如何设置页码、以及生成目录)
分页: 分节: 自动生成目录:
随机推荐
- Codeforces 1133 F2. Spanning Tree with One Fixed Degree 并查集+生成树
好久没更新博客了,一直懒得动,这次更新一下. 题意大概是:给出一个图,求它的一个一号节点的度数恰好为D的生成树的方案. 一开始随便水了个乱搞贪心,不出意外并没有过. 仔细思考之后,对于这个问题我们可以 ...
- boost的初步了解
本章介绍了 Boost C++ 库 Asio,它是异步输入输出的核心. 名字本身就说明了一切:Asio 意即异步输入/输出. 该库可以让 C++ 异步地处理数据,且平台独立. 异步数据处理就是指,任务 ...
- C语言程序设计I—第五周教学
第五周教学总结(29/9-7/10) 本周为国庆节放假,周六周日提前补课,计算机专业已补,软件专业未补,由于国庆放假冲课不补,因此,软件专业在整体进度上落后计算机一次课,估计我要特别抽时间才能将进度拉 ...
- 最简单的ASP.Net连接查询Oracle,输出查询数据到表格中
VS2012中新建Windows窗体应用程序.Oracle中建测试数据表Test.(此处需要环境已配好情况下进行操作) 用到的数据表 向Windows窗体应用程序,设计界面托一个按钮和一个数据表格视图 ...
- ucos串口通讯模块设计
在嵌入式应用中,使用RTOS的主要原因是为了提高系统的可靠性,其次是提高开发效率.缩短开发周期.uCOS-II是一个占先式实时多任务内核,使用对象是嵌入式系统,对源代码适当裁减,很容易移植到8~32位 ...
- Ubuntu 18.04安装MongoDB 4.0
首先,导入包管理的公钥. Ubuntu包管理工具(即dpkg和apt)要求发行商使用GPG密钥签署包,从而确保包的一致性和真实性. sudo apt-key adv --keyserver hkp:/ ...
- MySQL学习【第一篇介绍】
一.数据库mysql的特点 1.首先数据库分为RDBMS(关系型数据库),和NOSQL(非关系型数据库),而我们的mysql则是RDBMS. 2.RDMS和NOSQL特点对比 RDBMS特点: (1) ...
- SpringBoot与mongodb的结合
本文系列文章: 使用Shell 操作 MongoDB的技巧 MongoTemplate的使用技巧及其注意事项 敬请期待. 前言 最近公司想要做一个用户行为数据的收集,最开始想用mysql来存储 ...
- Java基础—IO小结(一)概述与节点流
一.File类的使用 由于file类是一个基础类,所以我们从file类开始了解.(SE有完善的中文文档,建议阅读) 构造器: 常用方法:——完整方法请参见API API API!!! File做的是 ...
- flex“深拷贝”
以前在<ActionScript殿堂之路>上就看到过的“深拷贝”概念一直没有好好地在实战中用到过,但是最近在开发过程中,我发现我在编写VO数据对象时的一个老习惯很浪费我的编码时间,这个习惯 ...