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()

最新文章

  1. 用神奇的currentColor制作简洁的颜色动画效果
  2. Servlet接口五种方法介绍
  3. Python资源大全
  4. Windows7、8无法访问其他计算机共享盘
  5. C++中的多态与虚函数的内部实现
  6. Discuz 3.X 门户文章插入图片自动添加 alt 标签
  7. C++11多线程教学II
  8. 【BZOJ1064】【NOI2008】假面舞会(图论,搜索)
  9. lamp环境配置
  10. 二维指针的malloc内存分配(转)
  11. Thinkpad X220 升级 Windows 10 后无线网卡消失问题
  12. iosxcode7以后免证书真机测试方法如下
  13. linux ubuntu 学习总结(day01)基本命令学习
  14. js 图形化工作流设计器
  15. maven工程的建立
  16. lr11 controller打开提示cannot initialize driver dll,exiting
  17. PHP原理之对象(一)
  18. Spark Streaming源码分析 – InputDStream
  19. onenote的笔记本在windows10保存的路径
  20. 利用haohedi ETL将数据库中的数据抽取到hadoop Hive中

热门文章

  1. Java实现数据库操作
  2. Data Binding Android - Type parameter T has incompatible upper bounds : ViewDataBinding and MainAct
  3. 多线程之Timer和TimerTask
  4. Java静态代理学习
  5. BI之报表测试总结
  6. 【ev】视频软件
  7. linux 学习第十八天学习(DNS分离解析、DHCP配置、邮件服务配置)
  8. Redis 可视化工具 Redis Desktop Manager 和 treeNMS 的使用
  9. android6.0系统Healthd分析及低电量自动关机流程
  10. Get與Post的區別--總結隨筆