【Python去除pdf水印怎么做?Python如何将pdf文件水印去除】小编在之前的文章之中给大家讲解过了python是如何来给pdf文件添加水印的,但是在生活工作中也会去下载一些pdf文件使用,但是有些文件带水印很影响阅读体验 。所以这一篇文章是来给大家讲解pdf文件去除水印的方法,感兴趣的话就一起往下看看吧 。
文章插图
1.那么第一步实际上是要将所需要的模块和第三方库都给下载安装好,那么操作pdf文件可以使用fitz模块,除此之外还要itertools库和Pillow库,代码如下:
from PIL import Imagefrom itertools import productimport fitz2.第二步就是将pdf文件打开然后进行遍历读取,读取出来的pdf文件都需要将其转为图片,因为是不能够对pdf文件直接进行操作的 。图片都取出来之后根据RGB色差来定位到水印像素点,并且使用相邻像素颜色对其进行填充 。
然后将这些图片都保存在文件夹里面即可,去除水印之后的图片需要用字符串格式化来动态命名,代码示例如下所示:
def remove_pdfwatermark(): pdf_file = fitz.open("sy.pdf") page_no = 0 for page in pdf_file: pix = page.get_pixmap() for pos in product(range(pix.width), range(pix.height)): if sum(pix.pixel(pos[0], pos[1])) >= 510: pix.set_pixel(pos[0], pos[1], (255, 255, 255)) pix.pil_save(f"./{page_no}.png", dpi=(30000, 30000)) page_no += 13.那么这些去除掉了水印的图片是无法直接的使用,还需要将这些图片按照名称的数字大小来排序,这样才能保证图片转为pdf文件插入时的顺序不会变化,详细代码示例如下所示:
pic_dir = 'D:\Project\watemark'pdf = fitz.open()img_files = sorted(os.listdir(pic_dir), key=lambda x: int(str(x).split('.')[0]))for img in img_files: print(img) imgdoc = fitz.open(pic_dir + '/' + img) pdfbytes = imgdoc.convertToPDF() imgpdf = fitz.open("pdf", pdfbytes) pdf.insertPDF(imgpdf)pdf.save("sywc.pdf")pdf.close()以上就是关于“Python去除pdf水印怎么做?Python如何将pdf文件水印去除”的全部内容了,希望对你有所帮助 。
推荐阅读
- Python如何对多个条件进行判断?如何处理Python中if有多个条件?
- 干玻璃胶怎么去除小窍门
- 塑料材质产品去除瑕疵教程 PS去除噪点瑕疵的方法
- 画世界可以导出pdf文件吗?画世界Pro可以导出pdf文件吗?
- 如何使用PR来去除视频之中闪烁?PR去除闪烁插件使用方法
- 会声会影如何对照片应用去除闪烁滤镜?如何添加软件的闪烁滤镜效果的
- Python实现网络通信怎么做?Python如何根据TCP协议完成数据传输
- Python文件路径怎么处理?Python如何获取文件路径信息
- Python查找文件怎么实现?Python如何自定义文件查找关键字
- Python中pandas库如何检查空值?Pandas库的DataFrame怎么去除空值