水印,最为常见的一种保密方法,在数字化的lang浪潮中,水印可谓是随处可见。我们日常工作中,有很多地方需要添加水印,最常见的比如,图片上添加水印,屏幕水印,文件水印等。今天分享的内容,是为PDF文件添加水印。
对PDF文件的处理,主要使用Python第三方模块PyPDF2。该模块可以实现PDF文件的信息提取、文件拆分、合并、页面裁剪、加密、解密等操作。
首先,你需要在你的Python环境安装PyPDF2模块,具体安装命令如下:
pip install pypdf2
在这之前你需要准备好水印文件和pdf文件。准备好后,就可以编写程序了。具体代码如下:
from PyPDF2 import PdfFileReader,PdfFileWriter
def add_watermark(pdf_file_in, pdf_file_mark, pdf_file_out):
outputfile = PdfFileWriter()
inputfile = PdfFileReader(pdf_file_in)
pageCount = inputfile.getNumPages()
markfile = PdfFileReader(pdf_file_mark)
for i in range(pageCount):
page = inputfile.getPage(i)
page.mergePage(markfile.getPage(0))
outputfile.addPage(page)
with open(pdf_file_out, 'wb') as f_out:
outputfile.write(f_out)
添加水印函数的第一个参数为需要添加水印的PDF文件,第二个参数为水印文件,第三个参数为添加水印后的PDF文件保存的路径。代码依次读取PDF文件的每一页,与水印文件合并后,添加到PdfFileWriter对象中,这样运行程序后,就为PDF文件的每一页文件添加上了水印。