是否有任何适用于 Linux 的命令行工具允许我使用文本或特定字体、颜色和大小注释 PS 或 PDF 文件而不会损失质量?我试过 ImageMagick 的转换,结果 PDF 质量很差。
我有一个最初在 Adobe Illustrator 中创作的模板,我想从中生成 PDF,并在某些地方使用名称。我有一个巨大的名字列表,所以我想分批(不是交互式地)这样做。
如果有人有任何想法,我将不胜感激。谢谢,卡尔
是否有任何适用于 Linux 的命令行工具允许我使用文本或特定字体、颜色和大小注释 PS 或 PDF 文件而不会损失质量?我试过 ImageMagick 的转换,结果 PDF 质量很差。
我有一个最初在 Adobe Illustrator 中创作的模板,我想从中生成 PDF,并在某些地方使用名称。我有一个巨大的名字列表,所以我想分批(不是交互式地)这样做。
如果有人有任何想法,我将不胜感激。谢谢,卡尔
实现此目的的另一种方法是破解 postscript 文件本身。以前AI文件是postscript文件,可以直接修改;我不知道那是不是真的了。所以你可能需要导出它。
为简单起见,我假设只有一个页面。因此,在最后会有一个调用showpage
(可能通过另一个名字)。在显示页面之前执行的任何绘图命令都将显示在页面上。
您可能需要重新初始化图形状态initgraphics
(
要放置文本,您需要设置一种新字体(旧字体已被 initgraphics 无效)以点为单位测量位置(72 点/英寸,28.3465 点/厘米)。
/Palatino-Roman 17 selectfont %so much prettier than Times
x y moveto
(new text) show
要进行合并,您可以使用 perl:将文档的开头作为 HERE 文档发出,通过程序构造一些文本写入行,发出文档的尾部。这是使用 PERL 生成 postscript的示例
--
或者,您可以使用选项 ( )从命令行(使用 ghostscript)获取数据$gs -q -- program.ps arg1 arg2 ... argn
。程序可以通过名为 /ARGUMENTS 的数组访问这些参数。
所以,假设你有一个漂亮的图形,一个可怕的小丑拿着一个大约 1 英寸宽、3 英寸高、左上角距离左侧 4 英寸、距离底部 4 英寸的空白标志。您可以将此代码插入到 ps 程序中,就在showpage
.
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..."
)。
我认为最好创建 PDF 表单并用pdftk fill_form批量填写:
$ pdftk form.pdf fill_form data.fdf output out.pdf flatten
表单数据应该是表单数据格式(它只是带有指定字段名称和值的 XML 文件)。
注意flatten
命令。需要将填写的表格转换为普通文档。
另一种方法是创建一组“在某些地方有名称”和透明背景的 PDF 文档,然后pdftk在模板上标记它们中的每一个:
$ pdftk template.pdf stamp words.pdf output out.pdf