python-PyPDF2

python-PyPDF2作用:处理PDF文档提取文本,旋转页面,叠加页面1.pdfFileObj=open(‘meetingminutes.pdf’,’rb’)#打开pdf文档2.pdfReader=PyPDF2.PdfFileReader(pdfFileObj)#获取pdf文档数据3.pdfReader.numPages#获取页数4.pageObj=pdfReader.getPage(0)#获取指定页码的内…

大家好,又见面了,我是你们的朋友全栈君。

作用:处理PDF文档

提取文本,旋转页面,叠加页面

1.pdfFileObj = open(‘meetingminutes.pdf’,’rb’)#打开pdf文档

2.pdfReader = PyPDF2.PdfFileReader(pdfFileObj)#获取pdf文档数据

3.pdfReader.numPages#获取页数

4.pageObj = pdfReader.getPage(0)#获取指定页码的内容,从0开始

5.pageObj.extractText()#返回该页文本的字符串 注:难以做到全部提取

6.pageObj.rotateClockwise(90)#旋转页面。只能旋转90*x度

7.pageObj.mergePage(pdfReader.getPage(1))#将两页重叠

  

  

解密

1.pdfReader.isEncrypted#判断文档是否加密

2.pdfReader.decrypt(‘rosebud’)#对加密的文档进行解密

加密

1.pdfwriter = PyPDF2.PdfFileWriter()#新建PdfFileWriter对象

    pdfwriter.encrypt(‘sdsd’)#加密

新建

1.无法世界添加内容,只能从其他pdf文档中拷贝过来加入

eg:

import PyPDF2

pdfFile = open(‘meetingminutes.pdf’,’rb’)#打开一个现有的文档

pdfReader = PyPDF2.PdfFileReader(pdfFile)#获取内容

pdfwriter = PyPDF2.PdfFileWriter()#新建PdfFileWriter对象

for pageNum in range(pdfReader.numPages):#向PdfFileWriter对象中添加内容

    pageObj = pdfReader.getPage(pageNum)

    pdfwriter.addPage(pageObj)

pdfOutputFile = open(‘newFile.pdf’,’wb’)#新建一个pdf文档

pdfwriter.write(pdfOutputFile)#向文档中写入内容

pdfOutputFile.close()

注:所有的修改操作均无法再原文件上操作,只能将修改结果写入新文件中

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152397.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • onLoad和onShow的使用

    onLoad和onShow的使用onLoad页面第一次加载时执行,只执行一次,一般用于上一级点击进入下一级,需要传参数时使用。onShow除了页面第一次加载时会执行,页面有什么小程序API操作行为也会触发执行。onLoad:function(options){//页面初始化options为页面跳转所带来的参数},onShow:function(){…

    2022年6月19日
    149
  • oracle建表语句例子_oracle建表语句例子带注释

    oracle建表语句例子_oracle建表语句例子带注释Oracle建表语句createtabletable_name( idnumner(12), textverchar2(255CHAR)notnull,statusnumber(1)DEFAULT0null–添加默认值如果为空默认值就为0)–添加主键ALTERTABLE"W…

    2022年9月7日
    0
  • Java的@Transactional事务回滚

    @Transactional基本原理概述在应用系统调用声明@Transactional的目标方法时,SpringFramework默认使用AOP代理,在代码运行时生成一个代理对象,根据@Transactional的属性配置信息,这个代理对象决定该声明@Transactional的目标方法是否由拦截器TransactionInterceptor来使用拦截,在Transacti…

    2022年4月9日
    855
  • Flutter简介

    Flutter简介

    2021年7月7日
    99
  • 【Python爬虫Scrapy框架】一、Scrapy爬虫框架的入门案例「建议收藏」

    【Python爬虫Scrapy框架】一、Scrapy爬虫框架的入门案例「建议收藏」Scrapy爬虫框架的入门案例,感受一下Scrapy的强大之处。

    2022年6月26日
    23
  • 什么是CPU密集型、IO密集型?「建议收藏」

    什么是CPU密集型、IO密集型?「建议收藏」CPU密集型(CPU-bound)CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPULoading100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPULoading很高。在多重程序系统中,大部份时间用来做计算、逻辑判断等CPU动作的程序称之CPUbound。例如一个计……

    2022年9月13日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号