基于python实现PDF批量加水印工具

一个方便易用的批量PDF文件加水印工具,使用Python和Tkinter图形界面,能够为整个文件夹中的PDF文件批量添加半透明倾斜水印。

功能特性

  • 批量处理文件夹中的所有PDF文件
  • 自定义水印文本内容
  • 调整水印字体大小、旋转角度
  • 设置水印行间距和列间距
  • 控制水印透明度
  • 实时进度显示
  • 日志记录处理过程
  • 支持中文字体显示

依赖库

  • tkinter: 图形用户界面
  • reportlab: PDF生成和操作
  • PyPDF2: PDF读取和合并
  • os, threading, queue: 系统操作和多线程处理
  • tkinter.font: 字体控制

安装说明

  1. 确保已安装Python 3.x环境
  2. 安装所需的依赖库:
bash 复制代码
pip install reportlab PyPDF2

注意:程序使用了宋体字体(simsun.ttc(file:///c/Users/Administrator/Downloads/code/simsun.ttc))来支持中文显示,请确保系统中有该字体文件。

使用方法

  1. 运行程序:
bash 复制代码
python main.py
  1. 在界面中设置:

    • 选择要处理的PDF文件所在的文件夹
    • 选择输出文件夹(存放带水印的PDF文件)
    • 输入水印文本内容(默认为"科技有限公司")
    • 设置字体大小(10-100)
    • 设置水印旋转角度(0-90度)
    • 设置行间距和列间距
    • 调整水印透明度
  2. 点击"开始加水印"按钮进行处理

  3. 处理完成后可在输出文件夹查看带水印的PDF文件

界面说明

  • PDF文件夹: 选择包含待处理PDF的文件夹
  • 输出文件夹: 存放添加水印后的PDF文件
  • 水印文字: 要添加的水印文本内容
  • 字体大小: 水印文字的大小(10-100)
  • 角度: 水印文字的旋转角度(0-90度)
  • 行间距/列间距: 水印文字之间的距离
  • 透明度: 水印的透明程度(0.1-0.9)
  • 进度条: 显示处理进度
  • 日志: 显示处理过程信息
  • 开始加水印: 开始批处理
  • 重置服务: 停止当前处理并重置界面

注意事项

  • 请确保PDF文件夹路径下有PDF文件
  • 输出文件夹会自动创建如果不存在
  • 水印处理过程中不要关闭程序
  • 程序使用多线程处理,避免界面冻结
  • 默认使用宋体字体支持中文显示

软件信息

  • 开发语言: Python
  • 界面: Tkinter
相关推荐
默_笙13 小时前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!13 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_4260039613 小时前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫13 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技14 小时前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读14 小时前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时15 小时前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
C语言小火车15 小时前
C/C++ 为什么需要编译器?
开发语言·c++
奇思妙想聪明勤奋的小羊15 小时前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd12316 小时前
2026年第38周GitHub趋势周报
python·科技·github