我学过这里要在不打开 PDF 文件的情况下为其添加水印,请执行以下操作:
pdftk input.pdf stamp watermark.pdf output output.pdf
现在我想对给定目录下的每个 .pdf 执行此操作,要么替换原始 .pdf,要么创建具有相同名称的新 .pdf + 类似-WM.pdf
但是这个命令需要输入文件名和输出文件名,所以我不知道如何for
对其进行循环。
在Linux。
答案1
您可以使用for
这样的循环:
for file in *.pdf; do pdftk "$file" stamp watermark.pdf output "WM-$file"; done
答案2
对于 Windows 用户,控制台上会出现类似的结果
for %f in (*.pdf) do pdftk "%f" stamp watermark.pdf output "%~dpnf-wm.pdf"
或者在脚本中
for %%f in (*.pdf) do pdftk "%%f" stamp watermark.pdf output "%%~dpnf-wm.pdf"
pause
如果出现问题,您应该留意pause
以下反馈:
Error: Failed to open PDF file:
create-forms-sample.pdf
OWNER PASSWORD REQUIRED, but not given (or incorrect)
Errors encountered. No output created.
Done. Input errors, so no output created.
同样,PDFtk 可能会锁定某些文件,但这种情况比较少见。
错误:无法打开 PDF 文件:f1040-fred