You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过命令行批量移除PDF的所有批注(含高亮、评论、注释、箭头)

批量移除PDF文件批注的命令行方法

当然有办法!批量清理PDF里的高亮、评论、箭头这类批注,用命令行工具绝对是最高效的方案,下面给你分享几个我常用的工具和具体操作步骤:

1. pdftk(PDF Toolkit)—— 老牌可靠的选择

pdftk是处理PDF的经典工具,几乎能搞定所有基础操作,移除批注自然不在话下。

  • 先安装pdftk:

    • Ubuntu/Debian:sudo apt install pdftk
    • macOS:用Homebrew安装brew install pdftk-java
    • Windows:可以从官方包管理器或者手动下载安装包
  • 批量处理脚本(bash):

# 遍历当前目录下所有PDF文件
for file in *.pdf; do
  # 生成不带批注的新文件,前缀加clean_避免覆盖原文件
  pdftk "$file" output "clean_$file" uncompress
done

原理是通过uncompress参数重新生成PDF,这个过程会自动丢弃所有交互式批注元素。

2. qpdf—— 现代高效的PDF处理工具

qpdf是更轻量化、速度更快的工具,支持最新的PDF标准,还有专门的移除批注参数,用起来更直观。

  • 安装qpdf:

    • Ubuntu/Debian:sudo apt install qpdf
    • macOS:brew install qpdf
    • Windows:通过Chocolatey或者官网下载安装
  • 批量处理脚本:

for file in *.pdf; do
  qpdf --remove-annotations "$file" "clean_$file"
done

这里--remove-annotations是专门用来移除所有批注的参数,如果你还想优化PDF的加载速度,可以加上--linearize参数:

qpdf --linearize --remove-annotations "$file" "clean_$file"

3. Ghostscript—— 全能型PDF转译工具

Ghostscript主要用于PDF和PostScript之间的转译,但也能轻松清理掉批注这类非打印元素。

  • 安装Ghostscript:

    • 大部分Linux发行版默认自带,如果没有就用sudo apt install ghostscript
    • macOS:brew install ghostscript
    • Windows:官网下载安装包即可
  • 批量处理命令:

for file in *.pdf; do
  gs -o "clean_$file" -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -dPrinted=false "$file"
done

参数说明:

  • -dPrinted=false:告诉Ghostscript不要保留批注、表单这类交互式元素
  • -dPDFSETTINGS=/prepress:保证输出PDF的质量和原文件一致,你也可以换成/screen(更小体积)或者/default

一些注意事项

  • 先测试单个文件:批量处理前,先拿一个PDF测试命令,确保输出的文件确实移除了批注,且没有损坏内容
  • 备份原文件:处理前最好把所有要操作的PDF备份一份,避免意外情况
  • 加密PDF:如果你的PDF是加密的,需要先解密才能处理。比如pdftk可以用pdftk "$file" input_pw 你的密码 output "decrypted_$file"先解密,再处理;qpdf用qpdf --password=你的密码 --decrypt "$file" "decrypted_$file"

内容的提问来源于stack exchange,提问作者Rafael Beirigo

火山引擎 最新活动