基于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
相关推荐
孟健6 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞8 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽11 小时前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
敏编程15 小时前
一天一个Python库:jsonschema - JSON 数据验证利器
python
前端付豪15 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
databook16 小时前
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
python·动效
花酒锄作田1 天前
使用 pkgutil 实现动态插件系统
python
前端付豪1 天前
LangChain链 写一篇完美推文?用SequencialChain链接不同的组件
人工智能·python·langchain
曲幽1 天前
FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话
python·fastapi·web·cors·diffusers·lcm·ollama·dreamshaper8·txt2img
老赵全栈实战1 天前
Pydantic配置管理最佳实践(一)
python