如何使用ImageMagick批量生成PDF时一键添加水印
单次完成ImageMagick图片加水印并合并为PDF的方案
完全可以在单次命令流程里完成所有操作,不需要先单独处理水印图片。以下是适配你需求的两种命令方案:
方案1:水印覆盖整个A4画布
如果希望水印铺满整个A4页面,使用这个命令:
convert src/images*.jpg \ -adaptive-resize '150%' \ -page 2480x3508 -extent 2480x3508 -gravity Center \ \( watermark.png -resize 2480x3508! \) \ -composite \ -density 300 -quality 68 \ out.pdf
- 括号内的操作单独处理水印:强制将
watermark.png缩放到A4画布的精确尺寸(!符号强制忽略原比例拉伸,不需要的话可以去掉,保持水印原比例缩放) -composite会把处理后的水印叠加到每一张已经完成缩放、居中排版的图片上(利用水印的透明效果自动混合)
方案2:水印匹配处理后的原图尺寸
如果希望水印大小和缩放、排版后的原图(非A4画布空白区域)一致,使用这个命令:
convert src/images*.jpg \ -adaptive-resize '150%' \ -page 2480x3508 -extent 2480x3508 -gravity Center \ \( watermark.png -resize %[w]x%[h] \) \ -composite \ -density 300 -quality 68 \ out.pdf
%[w]x%[h]是ImageMagick的变量,自动获取当前处理图片的宽高,让水印匹配原图尺寸
这两个命令都会一次性完成:图片缩放、居中放置到A4画布、添加透明水印、合并为指定参数的PDF文件,省去中间复制处理的步骤。
内容的提问来源于stack exchange,提问作者gcb
相关产品推荐
相关产品推荐

