基于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
相关推荐
Java后端的Ai之路9 小时前
【Python 教程15】-Python和Web
python
冬奇Lab10 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
灰子学技术12 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
二十雨辰12 小时前
[python]-AI大模型
开发语言·人工智能·python
Yvonne爱编码12 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚12 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂12 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
pas13613 小时前
41-parse的实现原理&有限状态机
开发语言·前端·javascript
琹箐13 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
前端摸鱼匠13 小时前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测