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

How can I make a program overlay text ON TOP of a PostScript file?

如何在 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 中是否有强制文本位于图像前面的选项?

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"