python自动化-pdf文档操作

Python011

python自动化-pdf文档操作,第1张

使用第三方库

官方文档:pymupdf.readthedocs.io/en/latest/

提取图片的整体逻辑如下:

将每一页转换为一张张图片

安装pdf2image, github:github.com/Belval/pdf2…

安装:

使用库: github.com/2Dou/waterm…

步骤:

1.获得一个带水印pdf文件

1.1在图片添加水印,图片插入到word,word保存为pdf

1.2python处理:参考

github.com/2Dou/waterm…

mp.weixin.qq.com/s/_oJA6lbsd…

2.将水印pdf文件合并到源目标pdf文件的每一页

法1,直接在word,插入文本框,旋转,设置无边框,注意设置背景透明,然后复制多个。导出为pdf。

法2,word本身自己的增加水印,设计-水印-自定义文字或图片。缺点是只能是单个水印。

缺点是水印在内容pdf上方,如果设置过大,颜色不太透明,会遮挡内容。

解密:并不是破解,而是在已知密码的情况下解密

作者:秦与商

链接:https://juejin.cn/post/7069582991982329893

1.python图片保存为pdf格式的功能需要使用到os模块以及img2pdf模块,其中img2pdf模块是第三方的。win+r打开运行窗口之后输入cmd并回车就能够启动命令行提示符,执行如下命令即可安装:

pip3 install img2pdf

如果是linux系统或者是mac系统的话,就需要打开终端然后在命令前加上sudo参数表示管理员权限去下载安装这个库。

2.安装完成之后新建一个python脚本来编写代码,首先就是将这两个模块都给导入进来,示例如下:

import os

import img2pdf

3.然后使用with关键字创建出一个上下文管理器结构并且打开一个pdf文件,使用它的原因就在于可以在代码执行完毕之后自动的释放资源并关闭文件,示例如下:

with open("Output.pdf", "wb") as file:

有没有这个pdf文件都可以,如果没有的话会在文件路径内自动去创建。

4.最后就是需要调用该文件对象的write()方法来将图片数据写入进去了,在这个方法里面会调用convert()将一个文件路径内后缀名为jpg的图片全部以二进制流的方式读取出来,示例如下:

file.write(img2pdf.convert([i for i in os.listdir('文件路径') if i.endswith(".jpg")]))

以上就是关于“Python怎么将图片保存为pdf格式?Python图片合成为pdf的代码如何写”的全部内容了,希望对你有所帮助。

1,引言

晚上翻看《Python网络数据采集》这本书,看到读取PDF内容的代码,想起来前几天集搜客刚刚发布了一个抓取网页pdf内容的抓取规则,这个规则能够把pdf内容当成html来做网页抓取。神奇之处要归功于Firefox解析PDF的能力,能够把pdf格式转换成html标签,比如,div之类的标签,从而用GooSeeker网页抓取软件像抓普通网页一样抓取结构化内容。

从而产生了一个问题:用Python爬虫的话,能做到什么程度。下面将讲述一个实验过程和源代码。

2,把pdf转换成文本的Python源代码

下面的python源代码,读取pdf文件内容(互联网上的或是本地的),转换成文本,打印出来。这段代码主要用了一个第三方库PDFMiner3K把PDF读成字符串,然后用StringIO转换成文件对象。(源代码下载地址参看文章末尾的GitHub源)

复制代码

from urllib.request import urlopen

from pdfminer.pdfinterp import PDFResourceManager, process_pdf

from pdfminer.converter import TextConverter

from pdfminer.layout import LAParams

from io import StringIO

from io import open

def readPDF(pdfFile):

rsrcmgr = PDFResourceManager()

retstr = StringIO()

laparams = LAParams()

device = TextConverter(rsrcmgr, retstr, laparams=laparams)

process_pdf(rsrcmgr, device, pdfFile)

device.close()

content = retstr.getvalue()

retstr.close()

return content

pdfFile = urlopen("http://pythonscraping.com/pages/warandpeace/chapter1.pdf")

outputString = readPDF(pdfFile)

print(outputString)

pdfFile.close()

复制代码

如果PDF文件在你的电脑里,那就把urlopen返回的对象pdfFile替换成普通的open()文件对象。

3,展望

这个实验只是把pdf转换成了文本,但是没有像开头所说的转换成html标签,那么在Python编程环境下是否有这个能力,留待今后探索。

4,集搜客GooSeeker开源代码下载源

1. GooSeeker开源Python网络爬虫GitHub源

5,文档修改历史

2016-05-26:V2.0,增补文字说明

2016-05-29:V2.1,增加第六章:源代码下载源,并更换github源的网址