如何在PostScript文件的顶部创建程序覆盖文本?

时间:2015-01-29 15:25:48

标签: image shell pdf ghostscript postscript

如何在PostScript文件的顶部制作Ghostscript叠加文本?

我在这里找到了解决方案的一部分: How can I make a program overlay text on a postscript file? 建议这样做:

gs -o figLabel.pdf -sDEVICE=pdfwrite \
   -c "/Helvetica findfont 15 scalefont setfont 50 200 moveto (text) show" \
   -f fig.eps` 

然而,在这种情况下,文字在图像后面。

Ghostscript中是否有选项强制文本位于图像前面?

1 个答案:

答案 0 :(得分:3)

PostScript使用不透明的绘画模型,因此绘制的每个新事物都会模糊以前绘制的任何内容。在命令行中,绘制文本,然后然后绘制EPS文件。听起来你想要反向行为。

gs  -o figLabel.pdf -sDEVICE=pdfwrite \
    -f fig.eps \
    -c "/Helvetica findfont 15 scalefont setfont 50 200 moveto (text) show showpage"

这应该有效 IF EPS文件遵循不应该调用showpage本身的规则。否则,我们需要为此添加变通方法。

如果EPS文件调用showpage(即使它不应该这样做),我们需要重新定义名称/showpage,因此它什么也不做,并保存旧定义以便在最后调用

gs  -o figLabel.pdf -sDEVICE=pdfwrite \
    -c "/realshowpage /showpage load def /showpage {} def" \
    -f fig.eps \
    -c "/Helvetica findfont 15 scalefont setfont 50 200 moveto (text) show realshowpage"