将水印应用于目录上的每个 PDF

将水印应用于目录上的每个 PDF

我学过这里要在不打开 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

相关内容