还在研究pdf怎么加水印?你用python的同事早已下班了
利用Python能够在office办公时干很多事情,特别是要处理一些简单而重复的工作,这个时候选择python来帮你解决一定是再适合不过了。今天我们来讲一个使用小技巧,用python给pdf文件加水印。
废话不多讲,直接上代码后再来解释。
"""
example - 给PDF文件添加水印
Author: 码农邓翔宇
Date: 2021/8/12
"""
import PyPDF2 # 用到三方库PyPDF2,安装命令,打开pycham左下端终端Terminal,输入命令pip install PyPDF2,安装城后就可以用
from PyPDF2.pdf import PageObject
reader1 = PyPDF2.PdfFileReader('resources/XGBoost.pdf') # 创建一个PdfFileReader对象,目的是将文件中的内容读出来,属性是你要修改的pdf文件的相对路径或者绝对路径
reader2 = PyPDF2.PdfFileReader('resources/watermark.pdf') # 这里这里是一个设置好的没有内容只有水印效果的pdf文件
writer = PyPDF2.PdfFileWriter() # 创建一个可写的PdfFileWriter对象,目的是用来存处理好的pdf内容
watermark_page = reader2.getPage(0) # 水印文件中只有一页。就取出第一页的内容
for page_num in range(reader1.numPages): # 遍历原始文件的每一页,numPages是pdf的页数
current_page = reader1.getPage(page_num) # type: PageObject
# 上一行的type注释那里请你加上,那是声明current_page的对象类型的
current_page.mergePage(watermark_page) # current_page是每次取出来的一页内容,现在我们将它与之前的水印内容合并
writer.addPage(current_page) # 合并后将新处理好的每一页都写到新的可写对象writer中
with open('resources/XGBoost-watermarked.pdf', 'wb') as file: # 将writer对象中的内容保存到这个文件pdf中,搞定
writer.write(file)
可能你觉得加个水印没必要写这么代码,但是你不知道是,如果要让你给这样的100个文件加上水印呢?我在这个代码上稍作改动就搞定了,难道你也是一个个改?
我觉得我注释应该对每一步操作解释很清楚了,还有不懂的私信或者在评论区留下的问题。我来为你解答。
如果对你有帮助,不要忘记点赞、收藏加关注哦!