有谁知道将PDF文件标记为PDF文件以及定位PDF文件标记的控件?
我有一个文件orginal.pdf
和logo.pdf
。我想将logo.pdf
文件标记为文件orginal.pdf
左上角的文件original.pdf
。如何使用 Ghostscript 或 pdftk 完成?
答案 0 :(得分:27)
可以使用Ghostscript plus pdftk完成,但它至少需要2个不同的步骤。
AFAIK,您无法直接控制pdftk
的邮票展示位置。默认情况下,它会将标记放在页面的中心,同时执行“按比例缩放”操作。
因此,您必须首先修复您的图章,使其首先放在空白页面上,就在您想要的位置。这可以在Ghostscript的帮助下实现第一步。然后,在第二步中,使用pdftk合并这两个文件。
我们来看一个例子。
首先:创建'stamp-small.pdf'。 (你已经拥有了;我需要一个来证明这个原则。)
gs \
-o stamp-small.pdf \
-sDEVICE=pdfwrite \
-g3200x500 \
-c "/Helvetica-Bold findfont 36 scalefont setfont" \
-c "0 .8 0 0 setcmykcolor" \
-c "12 12 moveto" \
-c "(This is my stamp) show" \
-c "showpage"
此示例适用于Linux或Mac OS X.在Windows上,您可以像这样修改它:
gswin32c.exe ^
-o stamp-small.pdf ^
-sDEVICE=pdfwrite ^
-g3200x500 ^
-c "/Helvetica-Bold findfont 36 scalefont setfont" ^
-c "0 .8 0 0 setcmykcolor" ^
-c "12 12 moveto" ^
-c "(This is my stamp) show" ^
-c "showpage"
(您也可以将它全部放在一行中,但是跳过相应操作系统的行继续标记。)第一个命令将一系列简单的PostScript语句交给Ghostscript的命令行,并告诉它创建一个小的PDF页面尺寸为320x50点。这应该模拟你寻找位置的“小”标记。
第二名:创建一个完整的页面(在我的情况下,是一个A4大小的)PDF文件,可以在第三步中应用为真正的标记:
gs \
-o A4-stamp.pdf \
-sDEVICE=pdfwrite \
-g5950x8420 \
-c "<</PageOffset [280 790]>> setpagedevice" \
-f stamp-small.pdf
在Windows上:
gswin32c.exe ^
-o A4-stamp.pdf ^
-sDEVICE=pdfwrite ^
-g5950x8420 ^
-c "<</PageOffset [280 790]>> setpagedevice" ^
-f stamp-small.pdf
这个命令实现了几个方面:
实际上,我原来的小尺寸邮票字符串现在位于A4页面的右上角。
第三:现在,您可以使用pdftk将此新“图章”应用于原始PDF文件:
pdftk original.pdf stamp A4-stamp.pdf output stamped.pdf
或者,标记多页原始PDF的所有页面:
pdftk original.pdf multistamp A4-stamp.pdf output stamped.pdf
此示例应该为您提供足够的想法,让您了解如何为我自己的logo.pdf
开发类似的程序,就像我为stamp-small.pdf
所做的那样。 (我是在右上角做的,你想要你的左上角。)