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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • GBDT算法梳理_gbdt分类

    GBDT算法梳理_gbdt分类集成算法大致分为两类:Boosting(迭代)和Bagging(装袋)。在前面的博客中,有提到,存在强依赖关系、必须串行生成的序列化方法,代表算法是Boosting,不存在强依赖关系、可同时生成的并行化方法,代表算法有Bagging、RandomForest。其中Boosting集成算法的典型代表算法有Adaboost,GBDT(GradientBoostingDecisionTree),…

    2022年10月12日
    0
  • 数组转LIst的几种方法

    数组转LIst的几种方法第一种方式/***针对数组类型转换*分别是int[]、long[]、double[],其他数据类型比如short[]、byte[]、char[],在JDK1.8中暂不支持*/List<Integer>intList=Arrays.stream(newint[]{1,2,3,}).boxed().collect(Collectors.toList());List<Long>longList=Arrays.stream(newlong[]

    2022年6月21日
    27
  • 山东大学舆情研究中心_舆情系统

    山东大学舆情研究中心_舆情系统项目结题总结一、项目背景二、技术要点三、功能介绍1、服务器端(1)启动服务器一、项目背景对于一所高校来说一个好的风评有着十分重要的作用,拥有一个良好的口碑,能吸引更多的生源、引进更多的人才,学校的综合素质能力也会因此提升,因此我们小组选择了《山东大学舆情分析系统》这一题目,通过搜集百度新闻、央视新闻、今日头条、齐鲁网、新浪、网易新闻、微博、知乎等网站的有关信息,对搜集到的文本信息所进行的分词、统计处理,将结果绘制成可视化的热度词条、情感倾向变化图,并实时展示在网站上,以此来更直观的了解山大的实时风评。

    2022年9月20日
    1
  • 如何理解cicd

    如何理解cicd项目开发可以分为这几个过程编码->构建->集成->测试->交付->部署首先引用一个例子譬如说,你开了一家公司,雇了很多码农在一起写代码。你说,要用Gitlab做代码管理。当一个码农在自己的开发机上写好代码之后,要合并到主分支里,他首先要发起一个MergeRequest(MR),这会在一个特定服务器上触发一次对他提交的代码的检查,包括代码格式检查、依赖关系检查以及单元测试等一系列检查,等通过了全部检查,他就可以将代码合并到主分支,否则他需

    2022年5月7日
    50
  • QQ盗号核心编程[通俗易懂]

    QQ盗号核心编程[通俗易懂]QQ盗号核心编程作者:未知来源:CnXHacker.Net

    2022年6月14日
    49
  • gridView自己定义做时间排版「建议收藏」

    gridView自己定义做时间排版

    2022年1月23日
    35

发表回复

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

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