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()
最新文章
- 用神奇的currentColor制作简洁的颜色动画效果
- Servlet接口五种方法介绍
- Python资源大全
- Windows7、8无法访问其他计算机共享盘
- C++中的多态与虚函数的内部实现
- Discuz 3.X 门户文章插入图片自动添加 alt 标签
- C++11多线程教学II
- 【BZOJ1064】【NOI2008】假面舞会(图论,搜索)
- lamp环境配置
- 二维指针的malloc内存分配(转)
- Thinkpad X220 升级 Windows 10 后无线网卡消失问题
- iosxcode7以后免证书真机测试方法如下
- linux ubuntu 学习总结(day01)基本命令学习
- js 图形化工作流设计器
- maven工程的建立
- lr11 controller打开提示cannot initialize driver dll,exiting
- PHP原理之对象(一)
- Spark Streaming源码分析 – InputDStream
- onenote的笔记本在windows10保存的路径
- 利用haohedi ETL将数据库中的数据抽取到hadoop Hive中
热门文章
- Java实现数据库操作
- Data Binding Android - Type parameter T has incompatible upper bounds : ViewDataBinding and MainAct
- 多线程之Timer和TimerTask
- Java静态代理学习
- BI之报表测试总结
- 【ev】视频软件
- linux 学习第十八天学习(DNS分离解析、DHCP配置、邮件服务配置)
- Redis 可视化工具 Redis Desktop Manager 和 treeNMS 的使用
- android6.0系统Healthd分析及低电量自动关机流程
- Get與Post的區別--總結隨筆