如何从(Linux)命令行注释PS或PDF而不丢失质量?

如何从(Linux)命令行注释PS或PDF而不丢失质量?,pdf,command-line,postscript,adobe-illustrator,Pdf,Command Line,Postscript,Adobe Illustrator,是否有任何Linux命令行工具允许我用文本或特定字体、颜色和大小对PS或PDF文件进行注释,而不会降低质量?我尝试过ImageMagick的转换,结果PDF的质量非常差 我有一个最初在Adobe Illustrator中编写的模板,我想从中生成PDF,并在某些地方使用名称。我有一个巨大的名字列表,所以我想成批地(而不是以交互方式)完成这项工作 如果有人有什么想法的话,我会很高兴听到的。 谢谢 卡尔我认为最好创建PDF表单并批量填写: $ pdftk form.pdf fill_form data

是否有任何Linux命令行工具允许我用文本或特定字体、颜色和大小对PS或PDF文件进行注释,而不会降低质量?我尝试过ImageMagick的转换,结果PDF的质量非常差

我有一个最初在Adobe Illustrator中编写的模板,我想从中生成PDF,并在某些地方使用名称。我有一个巨大的名字列表,所以我想成批地(而不是以交互方式)完成这项工作

如果有人有什么想法的话,我会很高兴听到的。 谢谢
卡尔

我认为最好创建PDF表单并批量填写:

$ pdftk form.pdf fill_form data.fdf output out.pdf flatten
表单数据应位于(只是指定了字段名和值的XML文件)。
注意
flatte
命令。需要将填写的表单转换为普通文档

另一种方法是创建一组PDF文档“在某些地方有名称”和透明背景,每个文档都覆盖在模板上:

$ pdftk template.pdf stamp words.pdf output out.pdf

另一种方法是破解postscript文件本身。以前AI文件是postscript文件,可以直接修改;我不知道这是不是真的了。因此,您可能必须将其导出

为了简单起见,我假设只有一个页面。因此,在最后会有一个调用
showpage
(可能通过另一个名称)。在showpage之前执行的任何绘图命令都将显示在页面上

您可能需要重新初始化图形状态(
initgraphics
),因为文档的其余部分可能会让它变得很有趣,希望showpage在任何人注意到之前进行清理

要放置文本,您需要设置一种新字体(旧字体已被initgraphics作废)以点为单位测量位置(72点/英寸,28.3465点/厘米)

要进行合并,可以使用perl:将文档的开头作为HERE文档发出,通过程序构造一些文本写入行,发出文档的尾部。下面是一个例子

或者您可以使用
--
选项(
$gs-q--program.ps arg1 arg2…argn
)从命令行获取数据(使用ghostscript)。程序可以通过名为/arguments的数组访问这些参数

所以,假设你有一张很好的图片,一个可怕的小丑拿着一个空白标志,大约1英寸宽,3英寸高,左上角离左4英寸,离下4英寸。您可以在
showpage
之前将此代码插入ps程序

initgraphics
/Palatino-Roman 12 selectfont
4 72 mul 4 72 mul moveto
ARGUMENTS {
    gsave show grestore 0 -14 rmoveto
} forall

现在你可以让他说一些有趣的事情(
$gs--小丑.ps“在黑暗中”,“在暴风雨的夜晚…”
)。

这听起来很有趣--我会尝试看看我是否能让它发挥作用。这正是我需要的!谢谢
initgraphics
/Palatino-Roman 12 selectfont
4 72 mul 4 72 mul moveto
ARGUMENTS {
    gsave show grestore 0 -14 rmoveto
} forall