You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Mint下Bash中qpdf批量报错及与exiftool管道结合方案

解决qpdf批量PDF处理的文件名识别问题

qpdf不支持直接通过*.pdf批量传入多个文件,它一次仅能处理单个文件。要批量处理目录下所有PDF,用bash循环遍历每个文件即可:

for pdf_file in *.pdf; do
    qpdf "$pdf_file" --object-streams=disable --linearize --replace-input
done

用"$pdf_file"包裹文件名可以避免空格或特殊字符导致的识别错误,--replace-input参数会直接覆盖原文件。

结合exiftool与qpdf的批量处理命令

要一次性处理所有目标格式文件(PDF/PNG/CSV/JPG/XLSX),对PDF文件先清除元数据再用qpdf移除隐藏内容,其他文件仅执行元数据清除,可使用以下bash循环命令:

for file in *.pdf *.png *.csv *.jpg *.xlsx; do
    # 跳过不存在的文件(比如目录中无XLSX时)
    [[ -f "$file" ]] || continue
    # 对所有文件清除元数据
    exiftool -overwrite_original_in_place -all:all= "$file"
    # 仅对PDF文件执行qpdf处理
    if [[ "$file" == *.pdf ]]; then
        qpdf "$file" --object-streams=disable --linearize --replace-input
    fi
done

该命令会先统一清除所有文件的元数据,再针对PDF文件额外移除隐藏的JavaScript、宏,并优化文件结构。

内容的提问来源于stack exchange,提问作者Ginko-Mitten

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 01:57:15