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


相关推荐

  • 全球vps交流网站超级vps管理器_phpyun采集

    全球vps交流网站超级vps管理器_phpyun采集今天在写《请珍惜免费资源》这篇文章的时候无意中又发现一款无限流量免费PHP空间「FreeWebHostingArea」,搜索了一下已经有14年的时间,下面老俍就来介绍一下这款免费主机的申请及使用说明。FreeWebHostingArea是美国的一个老牌的免费空间服务商,从2005年开始提供免费PHP空间服务。距今已有14年的时间,真没想到一款免费主机能活这么长时间。FreeWe…

    2022年10月8日
    1
  • django通用视图通俗讲解_工程制图中视图包括哪些种类

    django通用视图通俗讲解_工程制图中视图包括哪些种类前言上篇我们通过mixin可以非常方便的实现一些CURD操作。实际上针对这些mixin,DRF还进一步的进行了封装,放到generics下。有以下generic类视图:generics.ListA

    2022年7月30日
    9
  • JDBC连接数据库的步骤

    JDBC连接数据库的步骤JDBC连接数据库一共有7步。1、首先加载驱动2、提供JDBC连接的URL3、创建数据库的连接4、创建一个statement执行者5、执行SQL语句6、处理返回结果7、关闭JDBC对象

    2022年7月4日
    25
  • pycharm搭建python环境_pycharm如何配置编译环境

    pycharm搭建python环境_pycharm如何配置编译环境1.安装python27双击执行python-2.7.15.msi,选择装到根目录,建议d:\Python27。一路下一步,直到完成。安装完成之后,打开cmd,输入:python,如果显示以下内容则说明安装python成功如果提示命令不存在则需要设置环境变量。windows:右键我的电脑–属性–高级系统设置–高级–环境变量–系统变量找到path项,加上值,D:\Python27;D:\P…

    2022年8月25日
    9
  • 质量工具因果图_质量管理因果图例题

    质量工具因果图_质量管理因果图例题前言在项目中,我们经常需要用到不同的工具对项目质量进行评审。使用不同的质量工具可能得到的结果不太一样。下面简单说下项目中常用到的质量分析工具因果图。释义:什么是因果图因果图又称为石川图、Ishikawa或鱼骨图,它把影响质量诸因素之间的关系以树状图的方式表示出来,使人一目了然,便于分析原因并采取相应的措施。它是一种在问题发生后,寻找根本原因的一种方法。它取名石川图是因为它是由日

    2022年8月14日
    8
  • json字符串转换为实体类_java类字符串转为日期格式

    json字符串转换为实体类_java类字符串转为日期格式StringreleaseModel=redisUtil.get(RedisContants.Release);StringunleaseModel=redisUtil.get(RedisContants.unRelease);从redis取出数据JSON是字符串格式的:这时候有两种方法可以转换:使用JSONObject.pareArray…

    2025年10月2日
    3

发表回复

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

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