利用python去除pdf水印

Python011

利用python去除pdf水印,第1张

水印只针对pdf

通过给与的水印图,找出相似水印并去除

本文参考资料:

Python操作PDF-文本和图片提取(使用PyPDF2和PyMuPDF)

Python处理PDF的实用姿势

使用PyPDF2在PDF上去除水印

pdf文件中添加水印的话就不能够使用图片处理的库pillow了,而是需要用到reportlab这个库,一下就是这个库之中需要使用到的模块个方法,代码如下:

from reportlab.pdfgen import canvas

from reportlab.pdfbase import pdfmetrics

from reportlab.pdfbase.ttfonts import TTFont

from PyPDF2 import PdfFileWriter, PdfFileReader

2.导入模块之后就是要使用canvas模块来绘制出文件水印的图像了,需要先调用TTFont()方法来将需要使用到的字体文件加载进来。然后就是去设置一下水印的坐标、字体、大小、颜色、倾斜角度等等参数,代码示例如下所示:

cans = canvas.Canvas('water_back.pdf', pagesize=(21 * cm, 29.7 * cm))

cans.setFont('songti', 23)

cans.setFillColorRGB(0.5, 0.5,0.5)

cans.rotate(45)

cans.drawString(-7 * cm, 0 * cm, ’水印文字’)

cans.save()

3.以上的代码就是打开了一个pdf文件并且在里面绘制了文字水印,但是一个pdf文件可能是有很多页的,所以接下来还需要将pdf文件之中的每一页都给读取出来然后添加文字水印,详细的代码示例如下所示:

water = PdfFileReader(water_pdf)

water_page = water.getPage(0)

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

pdf_page = pdf.getPage(page)

pdf_page.mergePage(water_page)

pdf_writer.addPage(pdf_page)

output_file = open(output_pdf, 'wb')

pdf_writer.write(output_file)

以上就是python向pdf文件之中添加水印的全部过程了,代码方法里面的所有参数都需要根据自己实际需要改成对应的文件路径就可以了,output就是pdf文件添加完水印之后保存在目录中的文件路径。

需要工具:<我的电脑><剪图工具><图片编辑><水印截图><MBM编辑器(需py平台支持)>操作步骤:①首先你要有自己的印章,可以去<印章手工坊>(网址太长了自己搜吧)做自己喜欢的印章,做好后点预览,直接保存图片,不要点下载!下载是要收费滴!②制作一张白纸,你可以找一个运行时有白屏的软件,出现白屏时把它截下来(安装水印截图后打开在设置里把水印关掉,用它截图)③打开图片编辑,打开那张白纸,然后选插入图片,把你的印章插入找好位置按确认保存!④打开剪图工具,选择你刚保存的图片,打开后>选项>颜色>底片>这时你会看到整个图片都变黑了,印章应该是亮蓝色的,好了用截图截下就行了不用保存⑤用我的电脑进入E:\nokia\screenshot\把里面的watermark.mbm复制到E:\python\mbmtool\mbm\这个文件夹里(如果没有这个文件夹打开MBM编辑运行一下就有了),再把你刚截下的那张底片改名为1.png⑥打开MBM编辑按右,你会看到watermark.mbm在里面了,选择解包,完成后退出⑦再用我的电脑进入E:\python\mbmtool\img\文件夹里,你会看到有0.png和1.png,这就是刚解包出来的文件,打开看看吧0.png是一张红色图片,1.png就是作者的印章,现在你知道该怎么做了吧?对!就用你先前截的那个1.png替换这里的1.png⑧打开MBM编辑>选择16bit\8bit把这两个打包合成,合成后退出⑨再进入E:\python\mbmtool\mbm\把刚才打包出来的images.mbm改名为watermark.mbm替换E:\nokia\screenshot\里面的watermark.mbm好了大功告成!⑩打开水印截图,再设置开启水印!截一张图你会看到你的印章快速闪动一下,这说明成功加盖印章了!打开你的截图看看吧!

满意请采纳