Python不加班:5分钟学会自动给PDF加水印

“小李,今天需要给一批商务文件文件加水印”,快下班了,小李被老板临时分配的任务惊呆了。咋办?200个PDF 啊!

Python不加班:5分钟学会自动给PDF加水印

什么是水印?

水印识别印刷和数字文档上的图像或图案。某些水印只能在特殊照明条件下才能看到。水印的重要性在于它可以保护您的知识产权,例如您的图像或PDF。水印的另一个术语是叠加。可以使用Python并PyPDF2为文档添加水印。您需要拥有仅包含水印图像或文本的PDF。

什么是水印?

Python大大出现了,对小李说,“不要担心!5分钟包你学会用Python添加水印”。程序如下:

from PyPDF2 import PdfFileWriter, PdfFileReader

def create_watermark(input_pdf, output, watermark):

watermark_obj = PdfFileReader(watermark)

watermark_page = watermark_obj.getPage(0)

pdf_reader = PdfFileReader(input_pdf)

pdf_writer = PdfFileWriter()

# Watermark all the pages

for page in range(pdf_reader.getNumPages()):

page = pdf_reader.getPage(page)

page.mergePage(watermark_page)

pdf_writer.addPage(page)

with open(output, 'wb') as out:

pdf_writer.write(out)

if __name__ == '__main__':

create_watermark(

input_pdf='Jupyter_Notebook_An_Introduction.pdf',

output='watermarked_notebook.pdf',

watermark='watermark.pdf')

幸好小李已经打卡学习Python了一段时间,有了点基础,大大大约解释了下程序,小李就懂了,乐呵呵的笑了。

“首先,这个程序已经做了一个封装,只要将对应参数传进去就可以调用给PDF 加水印了。

create_watermark() 接受三个参数:

  1. input_pdf:要加水印的PDF文件路径
  2. output:您要保存PDF的水印版本的路径
  3. watermark:包含水印图像或文本的PDF

在代码中,打开水印PDF并从文档中抓取第一页,因为这是水印的位置。然后使用input_pdf和通用pdf_writer对象创建PDF对象,用来生成带水印的PDF。

下一步是遍历页面中的页面input_pdf。这就是真真添加水印的部分。你需要打调用mergePage()并传递它watermark_page。将把水印PDF页面放在在当前页面的顶部。然后将新合并的页面添加到pdf_writer对象中。”

最后大大说,“不要忘记用

pip install PyPDF2

来安装好对应的python模块啊!”

Python大大讲完了这一切,然后深藏功与名,又要消失了,临走的时候,给小李说“由于有很多文件,建议你都放一个目录下,然后用Python来遍历目录下的文件,然后用循环来调用函数就可以了,这个就当你的作业呢!”说完,消失在茫茫夜色中。

Python来遍历目录下的文件,然后用循环来调用函数

小李用了几分钟完成了大大的作业。运行完毕后,满意的发现200个PDF文件都加上了水印,自动存储在了制定目录下,露出了不加班的微笑。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();