一份重要的合同要发给客户,担心被随意传播。想加水印保护版权,打开Adobe Acrobat——提示你订阅会员,一个月几百块。打开在线工具——"免费版仅限3页"或者"生成的文件带平台水印"。折腾一圈,最后只能手动一页页贴水印,贴到第50页的时候手都酸了。
我让AI写了40行代码,做了一个事:批量给PDF文件添加文字水印,免费、无页数限制、无平台水印。
原来: 打开Acrobat(要钱)→ 在线工具(限制页数)→ 手动一页页贴(太慢)
现在: 运行脚本 → 输入文件夹路径 → 几秒钟搞定
我是怎么让AI写这段代码的
直接复制下面这段提示词发给Claude、GPT-4或DeepSeek就行:
text
写一个Python脚本,实现以下功能:1. 用户输入一个文件夹路径2. 遍历文件夹里所有.pdf文件3. 给每页添加文字水印(如「机密文件」「内部资料」)4. 水印位置:页面中心,45度倾斜5. 水印透明度:30%6. 保存到新文件夹「水印版」7. 使用PyPDF2和ReportLab库AI会帮你生成完整的代码。如果第一次生成的效果不理想,可以继续追问调整水印位置、透明度或字体大小,直到满意为止。核心代码(精简版)
from PyPDF2 import PdfReader, PdfWriterfrom reportlab.pdfgen import canvasfrom io import BytesIO# 创建水印packet = BytesIO()c = canvas.Canvas(packet)c.setFont('Helvetica', 60)c.drawCentredString(300, 400, "机密文件")c.save()packet.seek(0)watermark = PdfReader(packet)# 添加到PDFreader = PdfReader("原文件.pdf")writer = PdfWriter()for page in reader.pages:page.merge_page(watermark.pages[0])writer.add_page(page)with open("加水印.pdf", 'wb') as f:writer.write(f)
需要修改的地方(两处)
水印文字:运行时会让你输入,直接打字就行。如果不输入,默认是"机密文件"。
字体大小:代码里写的是60,如果觉得太大或太小,找到
c.setFont('Helvetica', 60)这一行,把60改成你想要的大小。
安装依赖(只需一行命令)
bash
pip install PyPDF2 reportlab
如果安装速度慢,可以用国内镜像源:bash
pip install PyPDF2 reportlab -i https://pypi.tuna.tsinghua.edu.cn/simple
使用步骤(三步走)准备PDF文件:把所有要加水印的PDF放在同一个文件夹里,比如
D:/合同文件/运行脚本:打开终端(Mac/Linux)或命令提示符(Windows),执行:
bash
python pdf_watermark.py然后输入文件夹路径和水印文字查看结果:打开原文件夹里的「水印版」子文件夹,所有带水印的PDF已经躺在里面了
夜雨聆风