如何使用命令行为 ghostscript 添加水印?

kus*_*agi 4 pdf watermark ghostscript

有没有办法用命令行在每个pdf上添加水印?因为我需要从代码中设置参数

'gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile="7ed753c56994067cb0c8dc18fbf14921.pdf" "b79d2282c15b7e824cb8ee400401161d.pdf" "f21958c0b3a4a01fe22c9a60b6e15121.pdf" "d46615b5dd7b6e6565ef1ce8b117b860.pdf" "f46ea9512f5763693c84d8061eeff742.pdf"'

我只需要设置水印、不透明度、位置 x、y 和宽度\高度的路径

Nes*_*iza 6

如果您可以负担得起只使用文本而不是图像进行水印,那么您可以使用“setlinewidth stroke”模拟水印。

只需创建一个如下所示的 mark.ps 文件:

<<
   /EndPage
   {
     2 eq { pop false }
     {
         gsave      
         /Helvetica findfont 48 scalefont setfont
         newpath
         .90 setgray 130 70 moveto 50 rotate
         (${watermark}) false  charpath
         1 setlinewidth stroke
         grestore
         true
     } ifelse
   } bind
>> setpagedevice
Run Code Online (Sandbox Code Playgroud)

然后运行:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=watermarked.pdf mark.ps original.pdf
Run Code Online (Sandbox Code Playgroud)

我已经从 github 中一个名为pdf-bash-tools的普通旧 bash (POB) 开源 CLI 项目中提供了此功能和其他功能,例如密码保护、搜索、拆分和合并。