大家好,我是水滴~

我们自己制作的 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 加水印相关推荐

  1. 怎么批量给PDF加水印?

    如何批量给PDF加水印?随着pdf文件格式的广泛应用,学习一些关于pdf的操作就变得很有必要,比如pdf文件的编辑.转换等,除了这两个,还有一个大家使用比较多的操作,就是给pdf文件添加水印.pdf文 ...

  2. 如何简简单单批量给PDF加水印

    PDF加水印是我们编辑PDF过程中经常会做的事情,如果只有一个PDF文件的时候,那么PDF加水印也挺简单,但是如果有很多PDF文件要一起加水印,那么如果再一个个打开编辑就显得很麻烦了.那么如何批量给P ...

  3. 批量给pdf加水印,pdf批量加水印方法

    如何批量给pdf加水印?如今我们每个人的保护意识都很强,尤其是关于知识产权方面,pdf作为大部分正式文件的主要格式,保护pdf文件不被盗用就尤为的重要了,除了给pdf文件加密以外,还可以在pdf文件的 ...

  4. python pdf 加水印_Python批量给PDF加水印,10秒搞定“不可编辑”的PDF!

    在日常的工作中,我们经常需要和PDF文件打交道,PDF的处理,比如修改文字.增减页面等,都是非常麻烦的,相信大家有共同的感受. 有时我们还需要对PDF添加水印,野生的PDF工具都是给单个PDF添加水印 ...

  5. python pdf删除图片_【原创】python批量删除pdf图片水印(Xobject)的一种方法

    1.说明: 下载到的pdf总会有一些水印,pdf文件水印添加方式除了acrobat adobe自带的以外,还有很多,所以去除水印方法也很多,这里介绍的也只是一种适用python批量删除图片水印Xobj ...

  6. java pdf加水印 性能_利用java批量给pdf加水印的方法示例

    前言 最近因为工作需要,要批量在pdf上加水印,但找了一圈pdf在mac下的水印工具,都不太好用,索性就用java写一个吧. 以下代码依赖itext5.3.3包,java操作pdf 依靠itext5. ...

  7. python 批量给图片加水印

    在实际工作中可能会遇到批量给图片添加水印,这些水印可能是每个图片不一样的,但是格式要统一,字体.间距,位置等,要协调.怎么实现呢? 以下是用python实现的具体步骤: 数据情况: 统一标准命名的图片 ...

  8. 看这里,你要的快速、批量PDF加水印工具!

    今天在网上看到有人提问:"求怎么给PDF加水印,要快速批量的那种",好吧,算问对人了.最近在工作中也遇到同事问这个问题,主要是快速和批量,时间宝贵,不能浪费,所以这里大家推荐一个P ...

  9. 怎么给pdf加水印,pdf加水印步骤

    怎么给pdf加水印?有时候位置方式别人随意使用pdf文件里面的内容,我们需要给做好的pdf文件添加水印,这样可以起到一定的保护作用,那么怎么给pdf文件添加水印呢?有的小伙伴肯定会说,用专业的pdf编 ...

最新文章

  1. 大一计算机期末考试高数试卷,高等数学大一期末试卷(A)及答案
  2. 写一个工具生成数据库实体类
  3. oracle为什么要创建数据库,手动创建Oracle数据库之前因后果
  4. php psockopen,基于php socket(fsockopen)的应用实例分析
  5. 线程库 c语言实现,130行C语言实现个用户态线程库——后续(一)
  6. PHP在线支付类集锦(银联支付宝手机支付宝微信等)
  7. 1046 划拳 (15 分)—PAT (Basic Level) Practice (中文)
  8. 2014 找工作总结
  9. bootstrp_组件
  10. 使用mouse without borders无界键盘鼠标工具实现一套键盘鼠标控制两台电脑(非常的奈斯)
  11. wps文字下载 WPS Office 2012界面风格切换 想换就换
  12. angularjs+uib-pagination实现同一页面多个分页功能
  13. html模块 码工助手,码工助手在线布局使用注意事项
  14. CPU与GPU计算能力比较
  15. 20190401每周精品之读书
  16. JIRA6.3安装及alige插件破解
  17. 珠穆朗玛币王:11月22日是谁丢了136亿美元
  18. 松勤软件测试试题,如果让你测试一个完全不熟悉的系统,你会怎么办?
  19. 《CodeGear RAD Studio C++Builder 2007》企业破解版[ISO]
  20. rep论文阅读1:ACNet_Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks

热门文章

  1. cdma信息服务器,【CDMA网络时间服务器(CDMA网络时间服务器)】 - 太平洋安防网
  2. entity、vo、dto简单理解
  3. 牛客 流星雨(dp)
  4. 十大运动蓝牙耳机品牌,目前最好的六款运动耳机
  5. matmul和mul的区别
  6. obs源码 windows编译
  7. 美团饿了么外卖CPS红包对比
  8. 利用定向网络爬虫爬取豆瓣电影top250【Python】
  9. linux emr存储问题,Amazon EMR 常见问题
  10. Linux技巧(一): 查看系统内核/操作系统版本详解