它解决什么问题

PDF 处理的麻烦不是操作本身,而是「要处理的时候找不到一个干净、免费、不上传的工具」:

  • 招标文件、合同要合并成一份,在线工具要排队、有水印、还怕文件被传走;
  • 扫描件 / 大文件要瘦身压缩,发邮件总被卡大小;
  • 带密级的文件要加密,对方看完要能解密(或限制打印 / 复制 / 修改);
  • 一批 PDF 要加「内部资料」「机密」之类的水印,手工加要一晚上;
  • 要把 PDF 里的文字、图片提取出来,或者把一堆照片图片转PDF成电子相册……

PDFTool 的答案很简单:一个工具装下 PDF 最常用的全部需求,文件拖进去、选个页签、一次整批处理完。不用装大型编辑器,不用为单个功能装一堆小软件,更不用把文件交给在线网站。

核心特性

  • 本地工具、文件不上传:纯本地运行,基于 PyMuPDF 单核心依赖,所有处理都在你自己的电脑上完成,文件不经过任何服务器,合同、密级文档也放心处理;
  • PDF 常见需求全覆盖:合并 / 拆分 / 压缩 / 加密 / 解密 / 水印 / 提取 / 图片转PDF / 信息,一个工具箱装齐,不用为每件事装一个小软件;
  • 真正的批量:压缩 / 加密 / 解密 / 水印等支持文件 / 目录 / 通配符输入,多线程并发处理(--jobs N),单文件失败自动跳过、不中断整批;
  • AES-256 加密 + 权限控制:可设用户密码 / 所有者密码,还能限制打印、复制、修改(权限需配合所有者密码);
  • 水印实时预览:GUI 里调角度 / 透明度 / 字号,页面实时预览,所见即所得;
  • 绝不覆盖源文件:默认输出到源文件旁加后缀(如 a_compress.pdf),处理错了原图也还在,除非显式 --overwrite
  • 预演模式--dry-run 先看会输出哪些文件、写到哪,再真正动手;
  • GUI 可视化界面 + 命令行:不用敲命令,双击拖文件即用;也提供命令行模式批量处理;
  • 一键安装:安装包约 0.6MB,双击下一步即完成,首次运行自动配好环境。

九大功能一览

功能干什么典型用法
合并多个 PDF 按顺序合成一个招标文件几份并成一份
拆分按页 / 范围 / 每 N 页 / 全部页拆分把大 PDF 按章节拆开
压缩无损优化,或图片重压为 JPEG 瘦身扫描件压小好发邮件
加密AES-256 加密 + 打印/复制/修改权限带密级文件设密码
解密提供正确密码解锁打开加密文件再处理
水印文字 / 图片水印,角度 / 透明度 / 平铺批量加「内部资料」
提取提取全文文本 / 提取所有图片把扫描 PDF 里的图扒出来
图片转PDF一张或多张图片合成一个 PDF照片做电子相册
信息页数 / 尺寸 / 标题 / 作者 / 加密状态一批 PDF 的底细一次摸清

其中合并 / 拆分 / 压缩 / 加密 / 水印 / 图片转PDF / 信息在图形界面里就有页签;解密、提取用命令行调用(见下)。

GUI 可视化工具怎么用(无需命令行)

  • 拖放加载 PDF:把文件拖进窗口即生成队列,一眼看清每个文件的页数、体积、加密状态,还能预览页面;
  • 功能页签:合并 / 拆分 / 压缩 / 加密 / 水印 / 图片转PDF / 信息,选一个,整批处理;
  • 水印实时预览:输入文字、调角度 / 透明度 / 字号,页面实时预览效果;
  • 加密可视化:填用户密码 / 所有者密码,勾选限制打印、复制、修改等权限;
  • 输出目录可选:不选时默认输出到各源文件旁(加后缀,不覆盖源文件);
  • 处理完一键打开结果文件夹;暗色主题、无边框自绘标题栏,窗口可拖拽缩放。

命令行(CLI)速查

新开一个终端,命令是 py-tools-pdftool(子命令驱动):

:: 多个 PDF 按顺序合并为一个
py-tools-pdftool merge a.pdf b.pdf -o 合并.pdf

:: 按每 10 页拆分 / 抽指定范围
py-tools-pdftool split 大.pdf --every 10
py-tools-pdftool split 大.pdf --ranges "1-3,8-12"

:: 无损压缩 / 图片重压瘦身(可调质量)
py-tools-pdftool compress a.pdf
py-tools-pdftool compress a.pdf --mode images --quality 70

:: AES-256 加密 + 限制打印权限
py-tools-pdftool encrypt a.pdf --user-pw 123456
py-tools-pdftool encrypt a.pdf --user-pw u --owner-pw o --perms no-print

:: 解密(提供正确密码)
py-tools-pdftool decrypt 加密.pdf --user-pw 123456 -o 明文.pdf

:: 批量加水印(文字 / 图片,角度 / 透明度 / 平铺)
py-tools-pdftool watermark a.pdf --text "内部资料" --angle 30 --opacity 0.3 --tile
py-tools-pdftool watermark a.pdf --image logo.png --size 0.2

:: 提取文本 / 提取图片
py-tools-pdftool extract 报告.pdf --text -o 报告.txt
py-tools-pdftool extract 报告.pdf --images -o images/

:: 图片转 PDF(固定 A4、居中适配)
py-tools-pdftool img2pdf a.jpg b.png -o 相册.pdf
py-tools-pdftool img2pdf photos/ --page-size a4 --fit

:: 查看 PDF 信息(JSON 输出,可管道给脚本 / AI)
py-tools-pdftool info 报告.pdf --json

常见问题

  • PDF 会上传吗?安全吗?不会。PDFTool 是纯本地工具,基于 PyMuPDF 单核心依赖,所有处理都在你自己的电脑上离线完成,文件不经过任何服务器、数据不上传,处理合同、密级文档也放心。
  • 为什么下载 / 运行时 Windows 提示「未知发布者」甚至拦截?因为安装包没有商业数字签名(个人开发者出品、暂无签名证书),这是无签名软件的常见提示,并非病毒——浏览器拦截下载时点「保留 / 仍然下载」,Windows 弹窗点「更多信息 → 仍要运行」即可;首次启动联网下载 Python 运行环境也是正常行为,允许放行即可。
  • 会覆盖我的原文件吗?不会。默认输出到源文件旁加后缀(如 a_compress.pdf),绝不覆盖源文件;要覆盖需显式加 --overwrite
  • 加密的 PDF 能直接处理吗?带密码的加密 PDF 无法直接合并 / 压缩 / 加水印,请先用 decrypt 提供正确密码解密,再继续处理。
  • 压缩效果不明显?PDF 体积大头通常是内嵌图片。默认无损模式对文档型 PDF 有效;含大量图片的 PDF 用 compress a.pdf --mode images --quality 70 把图片重压为 JPEG 才明显(有损,可调质量)。
  • 水印文字能选中吗?水印以图片层叠加(为了支持任意角度与透明度),所以水印文本本身不可选中;好处是各种阅读器 / 手机预览都正常显示、更防复制。
  • 图形界面打不开?依赖系统 WebView2 运行时(Win10 / Win11 通常自带)。

总结

PDF 的常规需求(合并、拆分、压缩、加密解密、水印、提取、图片转PDF、信息)不多,但每个都值得有一件趁手、免费、不把文件传出去的家伙。PDFTool 把它们装进一个约 0.6MB 的小工具:GUI 可视化拖个文件进来、选个页签、点一下整批完事,命令行也能批量,纯本地运行、文件不上传、绝不覆盖源文件。和本系列的 MarkItDown / AnyDoc / Pandoc(文档 ↔ Markdown)、ImgTool(图片批处理)、PaperFix(拍照拉正扫描件)凑一块儿,文档处理、图片处理、PDF 编辑就都齐活了。一键安装,现在就可以免费下载试试。