python 操作PDF的几种方法( 二 )

五、水印
本次的工作是将下图作为水印添加到INV1.pdf中

python 操作PDF的几种方法

文章插图
 
首先是准备工作,将需要作为水印的图片插入word中调整合适位置后保存为PDF文件 。然后就可以码代码了,需要额外用到copy模块,具体解释见下图:
python 操作PDF的几种方法

文章插图
 
就是把读取器和写入器初始化,并且把水印PDF页先读取好备用,核心代码稍微比较难理解:
python 操作PDF的几种方法

文章插图
 
加水印本质上就是把水印PDF页和需要加水印的每一页都合并一遍
由于需要加水印的PDF可能有很多页,而水印PDF只有一页,因此如果直接把水印PDF拿来合并,可以抽象理解成加完第一页,水印PDF页就没有了 。
因此不能直接拿来合并,而要把水印PDF页不断copy出来成新的一页备用new_page,再运用.mergePage方法完成跟每一页合并,把合并后的页交给写入器待最后统一输出!
关于.mergePage的使用:出现在下面的页.mergePage(出现在上面的页),最后效果如图:
python 操作PDF的几种方法

文章插图
 
六、加密
加密很简单,只需要记住:「加密是针对写入器加密」
因此只需要在相关操作完成后调用pdf_writer.encrypt(密码)
以单个PDF的加密为例:
python 操作PDF的几种方法

文章插图
 
写在最后
当然除了对PDF的合并、拆分、加密、水印,我们还可以使用Python结合Excel和Word实现更多的自动化需求,这些就留给读者自己开发 。
最后还是希望大家能够理解Python办公自动化的一个核心就是批量操作-解放双手,让复杂的工作自动化!

【python 操作PDF的几种方法】


推荐阅读