基于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
相关推荐
油丶酸萝卜别吃2 小时前
utils.js 说明文档
开发语言·javascript·ecmascript
leisoo80975 小时前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
WangYan20225 小时前
基于XGBoost与AI的生态—地学多源数据建模:植被与土地利用识别、土壤碳氮空间预测、生物多样性驱动机制、土壤微生物功能预测、生态退化与风险识别
python·机器学习·xgboost
不会代码的小猴5 小时前
21. 泛型编程上
开发语言·c++·笔记·算法
一只旭宝6 小时前
细讲C加加【9】C++ std::function与std::bind详解|仿函数、绑定器、类成员绑定、占位符、成员偏移指针
开发语言·c++·算法
金銀銅鐵7 小时前
[Python] 借助 turtle 逐字展示唐诗《金缕衣》
python
coder!mq8 小时前
说几个常见的语法糖?
java·开发语言·算法
gugucoding8 小时前
38. 【Java】Stream API(下):高级操作与性能
java·开发语言
Lhan.zzZ8 小时前
在 Visual Studio 2022 中打造可扩展的动态链接库模块:从零搭建到原理解析
开发语言·c++·visual studio
SamChan909 小时前
PDF翻译API的JWT签名鉴权与速率限制设计:安全实战指南
网络·安全·pdf