
👉 项目官网:https://www.python-office.com/ 👈

大家好,这里是程序员晚枫,正在all in AI编程实战。
PDF文件要加水印保护、要加密、要拆分?今天全部搞定!
1、PDF加水印
给 PDF 加文字水印:
1 2 3 4 5 6 7 8 9 10
| import office
office.pdf.add_watermark( path='合同.pdf', output_file='带水印合同.pdf', text='机密文件', opacity=0.3, rotation=45 )
|
加图片水印:
1 2 3 4 5 6 7 8
| import office
office.pdf.add_watermark( path='报告.pdf', output_file='带Logo报告.pdf', image='logo.png', opacity=0.2 )
|
2、PDF加密
给 PDF 设置密码:
1 2 3 4 5 6 7 8 9 10
| import office
office.pdf.encrypt( path='机密文件.pdf', output_file='加密文件.pdf', password='123456' )
print('PDF已加密!')
|
解密 PDF(知道密码的情况下):
1 2 3 4 5 6 7 8
| import office
office.pdf.decrypt( path='加密文件.pdf', output_file='解密文件.pdf', password='123456' )
|
3、PDF拆分
把一个 PDF 按页面拆分:
1 2 3 4 5 6 7 8
| import office
office.pdf.split( path='长文档.pdf', page_list=[1, 3, 5], output_file='提取页.pdf' )
|
按范围拆分:
1 2 3 4 5 6 7 8
| import office
office.pdf.split_by_range( path='长文档.pdf', ranges=[(1, 10), (11, 20)], output_folder='拆分结果' )
|
4、PDF合并
把多个 PDF 合并成一个:
1 2 3 4 5 6
| import office
office.pdf.merge( file_list=['第1章.pdf', '第2章.pdf', '第3章.pdf'], output_file='完整版.pdf' )
|
5、PDF压缩
减小 PDF 文件大小:
1 2 3 4 5 6 7 8 9
| import office
office.pdf.compress( path='大文件.pdf', output_file='压缩后.pdf', quality='medium' )
print('PDF压缩完成!')
|
6、实战案例:批量给合同加水印
给文件夹里所有 PDF 加水印:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import office import os
def batch_add_watermark(folder): """批量给PDF加水印""" count = 0 for file in os.listdir(folder): if file.endswith('.pdf'): src = os.path.join(folder, file) dst = os.path.join(folder, f'水印_{file}') office.pdf.add_watermark( path=src, output_file=dst, text='仅限内部使用', opacity=0.2 ) count += 1 print(f'已处理: {file}') print(f'共处理 {count} 个文件!')
batch_add_watermark('合同文件夹')
|
7、实战案例:批量加密PDF
给所有 PDF 设置密码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import office import os
def batch_encrypt(folder, password): """批量加密PDF""" for file in os.listdir(folder): if file.endswith('.pdf'): src = os.path.join(folder, file) dst = os.path.join(folder, f'加密_{file}') office.pdf.encrypt( path=src, output_file=dst, password=password ) print(f'已加密: {file}')
batch_encrypt('重要文件', password='2024secret')
|
8、常见问题
Q:加水印后文件变大了?
A:正常现象,可以用 compress 压缩一下。
Q:解密密码忘了怎么办?
A:无解,密码无法找回,请牢记密码。
Q:Mac上能加密吗?
A:可以,但部分功能需要 Windows 环境。
9、下讲预告
学会了 PDF 高级操作,下一讲我们学 文件搜索:快速找到电脑里的任意文件。
敬请期待!
有问题欢迎加微信 python-office 进群交流~
程序员晚枫专注AI编程培训,小白看完他和图灵社区合作的教程《30讲 · AI编程训练营》就能上手做AI项目。
🎓 AI 编程实战课程
想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!