是否有适用于Linux的命令行工具,允许我使用文本或特定字体,颜色和大小注释PS或PDF文件而不会降低质量?我尝试过ImageMagick的转换,结果PDF质量很差。
我有一个最初在Adobe Illustrator中创作的模板,我想在某些地方生成带有名字的PDF。我有一个巨大的名单,所以我想批量(不是交互式)。
如果有人有任何想法我会很感激听到他们。 谢谢, 卡尔
答案 0 :(得分:3)
实现此目的的另一种方法是破解postscript文件本身。以前是AI文件是 postscript文件,你可以直接修改它们;我不知道这是不是真的了。所以你可能要把它导出。
为简单起见,我假设有一个页面。因此,在最后会有一个showpage
的调用(可能通过另一个名称)。在showpage之前执行的任何绘图命令都将显示在页面上。
您可能需要重新初始化图形状态(initgraphics
),因为文档的其余部分可能会让一切都变得有趣,期望在任何人注意之前清理showpage。
要放置文字,您需要设置一个新字体(旧字体由initgraphics无效)测量点的位置(72点/英寸,28.3465点/ cm)。
/Palatino-Roman 17 selectfont %so much prettier than Times
x y moveto
(new text) show
要进行合并,可以使用perl:将文档的开头作为HERE文档发出,按程序构造一些文本写入行,发出文档的尾部。以下是generating postscript with PERL
的示例或者您可以使用--
选项($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 -- clown.ps "On a dark," "and stormy night..."
)。
答案 1 :(得分:2)
我认为最好创建PDF表单并在批处理中填充pdftk fill_form:
$ pdftk form.pdf fill_form data.fdf output out.pdf flatten
表单数据应该在Forms Data Format中(它只是指定了字段名称和值的XML文件)
请注意flatten
命令。需要将填充的表单转换为普通文档。
另一种方法是创建一组PDF文档“在某些地方使用名称”和透明背景,并在模板上创建pdftk stamp每个文档:
$ pdftk template.pdf stamp words.pdf output out.pdf