基于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
相关推荐
柒星栈9 分钟前
PHP 源码怎么加密防破解?三套方案实战指南
开发语言·php·android studio
勉灬之15 分钟前
Next.js + Prisma 跨平台部署踩坑记
开发语言·javascript·ecmascript
小小代码狗22 分钟前
SQLi-Labs 基础注入实战教程(Less-1 ~ Less-5and Less-9)
服务器·python·php
这是个栗子39 分钟前
前端开发中的常用工具函数(九)
开发语言·javascript·ecmascript·at
蓝创工坊Blue Foundry1 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
会飞的小新1 小时前
C 标准库之 <fenv.h> 详解与深度解析
c语言·开发语言·microsoft
nanawinona1 小时前
2026年下半年量化学习,不同基础要查不同缺口
人工智能·python
CTA量化套保1 小时前
最新量化表达入门,从概念规则到简单实现
人工智能·python
雪的季节2 小时前
dir (obj) 与dir()
开发语言
大不点wow2 小时前
Java序列化与反序列化:让对象走出JVM
java·开发语言·jvm