python处理pdf文件,python可以读取pdf格式文件
便携文档格式是便携式文档格式的缩写,这类文件通常使用` . pdf 作为其扩展名。在日常开发工作中,最容易遇到的就是从便携文档格式中读取文本内容以及用已有的内容生成便携文档格式文档这两个任务。本文为大家介绍了几个计算机编程语言中常见的便携文档格式操作,需要的可以参考一下
目录
工具从便携文档格式中提取文本旋转和叠加页面加密便携文档格式文件创建便携文档格式文件补充
工具
python3.7
路径
便携文档格式
PyPDF2
画幅好画
从PDF中提取文本
PyPDF2没有办法从便携文档格式文档中提取图像、图表或其他媒体,但它可以提取文本,并将其返回为计算机编程语言字符串。
导入PyPDF2
reader=PyPDF2 .PdfFileReader(test.pdf )
page=reader.getPage(0)
print(page.extractText())
旋转和叠加页面
上面的代码中通过创建PdfFileReader对象的方式来读取便携文档格式文档,该对象的获取页面方法可以获得便携文档格式文档的指定页并得到一个页面对象对象,通过页面对象对象的顺时针旋转和逆时针旋转方法可以实现页面的顺时针和逆时针方向旋转,通过页面对象对象的addBlankPage方法可以添加一个新的空白页,代码如下所示。
导入PyPDF2
从PyPDF2.pdf导入页面对象
# 创建一个读便携文档格式文件的读者对象
reader=PyPDF2 .PdfFileReader( resources/XXX。pdf’)
# 创建一个写便携文档格式文件的作者对象
writer=PyPDF2 .PdfFileWriter()
# 对便携文档格式文件所有页进行循环遍历
对于范围(读者.数字页面):中的页码
# 获取指定页码的页对象
current _ page=阅读器。获取page(page _ num)# type :页面对象
如果页码% 2==0:
# 奇数页顺时针旋转90度
当前_页面。顺时针旋转(90度)
else:
# 偶数页反时针旋转90度
当前_逆时针(90)
writer.addPage(current_page)
# 最后添加一个空白页并旋转90度
page=writer。addblankpage()# type :页面对象
page.rotateClockwise(90)
# 通过作者对象的写方法将便携文档格式写入文件
打开( resources/xxx.pdf , wb )作为文件:
writer.write文件)
加密PDF文件
使用PyPDF2中的PdfFileWrite对象可以为便携文档格式文档加密,如果需要给一系列的便携文档格式文档设置统一的访问口令,使用计算机编程语言程序来处理就会非常的方便。
导入PyPDF2
reader=PyPDF2 .PdfFileReader( resources/xgboost。pdf’)
writer=PyPDF2 .PdfFileWriter()
对于范围(读者.数字页面):中的页码
作家。添加页面(阅读器。获取页面(page _ num))
# 通过加密方法加密便携文档格式文件,方法的参数就是设置的密码
writer.encrypt(foobared )
打开( resources/XGBoost-encrypted。pdf , wb )作为文件:
writer.write文件)
创建PDF文件
创建便携文档格式文档需要三方库画幅好画的支持,使用点安装报告实验室命令安装
从reportlab.lib.pagesizes导入A4号
从reportlab.pdfbase导入pdf计量学
从报告实验室。pdf基础。TTFont导入TT字体
从reportlab.pdfgen导入画布
pdf_canvas=画布。画布(资源/python创建 pdf ,页面大小=A4)
宽度,高度=A4
# 绘图
图像=画布ImageReader(resources/xxx.jpg )
pdf_canvas.drawImage(image,20,height - 395,250,375)
# 显示当前页
pdf_canvas.showPage()
# 注册字体文件
pdf度量标准。注册字体(TT字体(字体1 ,资源/字体/维拉。TTF ))
pdf度量标准。注册字体(TT字体(字体2 ,资源/字体/青呱石头体. ttf ))
# 写字
pdf_canvas.setFont(Font2 ,40)
pdf _画布。setfillcolorgb(0.9,0.5,0.3,1)
pdf_canvas.drawString(宽度//2 - 120,高度//2,你好,世界!)
pdf_canvas.setFont(Font1 ,40)
pdf _画布。setfillcolorgb(0,1,0,0.5)
pdf_canvas.rotate(18)
pdf_canvas.drawString(250,250,’你好,世界!)
# 保存
pdf_canvas.save()
补充
合并便携文档格式
从PyPDF2导入PdfFileReader、PdfFileWriter
def merge _ pdfs(路径,输出):
pdf_writer=PdfFileWriter()
对于路径:中的路径
pdf_reader=PdfFileReader(路径)
对于范围内的页面(pdf_reader.getNumPages()):
# 将每页添加到作者对象
pdf _ writer。添加页面(pdf _ reader。获取页面(第页))
# 写入合并的可移植文档格式文件的扩展名(可移植文档格式的缩写)
开(输出,“wb”)为out:
pdf_writer.write(out)
if __name__==__main__:
路径=[document1.pdf , document2.pdf]
合并_ pdfs(路径,输出=merged.pdf )
添加水印
从PyPDF2导入PdfFileWriter、PdfFileReader
def创建_水印(输入_pdf,输出,水印):
watermark _ obj=PdfFileReader(watermark)
水印_页面=水印_对象。获取页面(0)
pdf _ reader=pdf file reader(input _ pdf)
pdf_writer=PdfFileWriter()
# 给所有页面添加水印
对于范围内的页面(pdf_reader.getNumPages()):
page=pdf_reader.getPage(page)
page.mergePage(watermark_page)
pdf_writer.addPage(第页)
开(输出,“wb”)为out:
pdf_writer.write(out)
if __name__==__main__:
创建_水印(
input _ pdf= Jupyter _ Notebook _ An _ introduction。 pdf ,
output=水印_ notebook.pdf ,
watermark=watermark.pdf )
到此这篇关于计算机编程语言对便携文档格式文件的常用操作方法详解的文章就介绍到这了,更多相关计算机编程语言操作便携文档格式内容请搜索盛行信息技术软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行信息技术软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。