Python 批量为 PDF 加水印
大家好,我是水滴~
我们自己制作的 PDF 文件,为了避免被别人滥用,通常会加上水印。而市面上很多工具都是收费的,这无疑增加了我们的成本。
所以,我使用 Python 编写了一段加水印的代码,可以批量的为多个 PDF 文件加水印,完全是免费的,在这里分享给大家。
上面的 GIF 图片就是批量加水印的过程。在使用前,需要准备水印文件,并安装
PyPDF2
库,下面是详细教程。
制作水印文件
创建一个 Word 文档,用 WPS 工具插入一个水印。水印可以是图片,也可以是文字,根据自己的需要编辑即可。最后将 Word 文件转换成 PDF ,这样水印文件就制作完成了。
下面截图是我制作的一个水印文件,文件名为“水印.pdf”。
安装 PyPDF2
库
PyPDF2
是一个免费且开源的 Python 第三方库,主要用来操作 PDF 文件。其功能主要包括拆分、合并、裁剪、转换、加密、加水印等。
下面是安装命令:
pip install PyPDF2
批量加水印代码
获取指定目录下所有 PDF 文件:
def get_pdf_files(input_path):# 创建一个空的列表,用于存放所有PDF文件pdf_files = list()# 获取该目录下所有文件,并遍历for filename in os.listdir(input_path):# 筛选出所有PDF文件,并放入 pdf_files 中if filename.endswith(".pdf"):if filename.endswith("水印.pdf"):# 忽略带水印的PDF文件continuepdf_files.append(input_path + filename)return pdf_files
为 PDF 文件添加水印:
def add_watermark(watermark_file, pdf_file):# 读取水印文件,并获取含有水印的页watermark_reader = PdfReader(watermark_file)watermark_page = watermark_reader.pages[0]# 创建一个写缓存,用于缓存合并后的结果页pdf_writer = PdfWriter()# 读取PDF文件pdf_reader = PdfReader(pdf_file)# 获取PDF所有页,并遍历for pdf_page in pdf_reader.pages:# 将水印页合并到当前页上,并添加到写缓存中pdf_page.merge_page(watermark_page)pdf_writer.add_page(pdf_page)# 将合并后的PDF文件,写入到指定地址with open("_水印".join(os.path.splitext(pdf_file)), "wb") as result_path:pdf_writer.write(result_path)
加水印后的效果:
Python 批量为 PDF 加水印相关推荐
- 怎么批量给PDF加水印?
如何批量给PDF加水印?随着pdf文件格式的广泛应用,学习一些关于pdf的操作就变得很有必要,比如pdf文件的编辑.转换等,除了这两个,还有一个大家使用比较多的操作,就是给pdf文件添加水印.pdf文 ...
- 如何简简单单批量给PDF加水印
PDF加水印是我们编辑PDF过程中经常会做的事情,如果只有一个PDF文件的时候,那么PDF加水印也挺简单,但是如果有很多PDF文件要一起加水印,那么如果再一个个打开编辑就显得很麻烦了.那么如何批量给P ...
- 批量给pdf加水印,pdf批量加水印方法
如何批量给pdf加水印?如今我们每个人的保护意识都很强,尤其是关于知识产权方面,pdf作为大部分正式文件的主要格式,保护pdf文件不被盗用就尤为的重要了,除了给pdf文件加密以外,还可以在pdf文件的 ...
- python pdf 加水印_Python批量给PDF加水印,10秒搞定“不可编辑”的PDF!
在日常的工作中,我们经常需要和PDF文件打交道,PDF的处理,比如修改文字.增减页面等,都是非常麻烦的,相信大家有共同的感受. 有时我们还需要对PDF添加水印,野生的PDF工具都是给单个PDF添加水印 ...
- python pdf删除图片_【原创】python批量删除pdf图片水印(Xobject)的一种方法
1.说明: 下载到的pdf总会有一些水印,pdf文件水印添加方式除了acrobat adobe自带的以外,还有很多,所以去除水印方法也很多,这里介绍的也只是一种适用python批量删除图片水印Xobj ...
- java pdf加水印 性能_利用java批量给pdf加水印的方法示例
前言 最近因为工作需要,要批量在pdf上加水印,但找了一圈pdf在mac下的水印工具,都不太好用,索性就用java写一个吧. 以下代码依赖itext5.3.3包,java操作pdf 依靠itext5. ...
- python 批量给图片加水印
在实际工作中可能会遇到批量给图片添加水印,这些水印可能是每个图片不一样的,但是格式要统一,字体.间距,位置等,要协调.怎么实现呢? 以下是用python实现的具体步骤: 数据情况: 统一标准命名的图片 ...
- 看这里,你要的快速、批量PDF加水印工具!
今天在网上看到有人提问:"求怎么给PDF加水印,要快速批量的那种",好吧,算问对人了.最近在工作中也遇到同事问这个问题,主要是快速和批量,时间宝贵,不能浪费,所以这里大家推荐一个P ...
- 怎么给pdf加水印,pdf加水印步骤
怎么给pdf加水印?有时候位置方式别人随意使用pdf文件里面的内容,我们需要给做好的pdf文件添加水印,这样可以起到一定的保护作用,那么怎么给pdf文件添加水印呢?有的小伙伴肯定会说,用专业的pdf编 ...
最新文章
- 大一计算机期末考试高数试卷,高等数学大一期末试卷(A)及答案
- 写一个工具生成数据库实体类
- oracle为什么要创建数据库,手动创建Oracle数据库之前因后果
- php psockopen,基于php socket(fsockopen)的应用实例分析
- 线程库 c语言实现,130行C语言实现个用户态线程库——后续(一)
- PHP在线支付类集锦(银联支付宝手机支付宝微信等)
- 1046 划拳 (15 分)—PAT (Basic Level) Practice (中文)
- 2014 找工作总结
- bootstrp_组件
- 使用mouse without borders无界键盘鼠标工具实现一套键盘鼠标控制两台电脑(非常的奈斯)
- wps文字下载 WPS Office 2012界面风格切换 想换就换
- angularjs+uib-pagination实现同一页面多个分页功能
- html模块 码工助手,码工助手在线布局使用注意事项
- CPU与GPU计算能力比较
- 20190401每周精品之读书
- JIRA6.3安装及alige插件破解
- 珠穆朗玛币王:11月22日是谁丢了136亿美元
- 松勤软件测试试题,如果让你测试一个完全不熟悉的系统,你会怎么办?
- 《CodeGear RAD Studio C++Builder 2007》企业破解版[ISO]
- rep论文阅读1:ACNet_Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks