pdf - 如何在不损失质量的情况下从(Linux)命令行注释 PS 或 PDF?

标签 pdf command-line postscript adobe-illustrator

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

我有一个最初在 Adob​​e Illustrator 中创作的模板,我想从中生成带有某些地方名称的 PDF。我有一个很大的名字列表,所以我想批量(非交互式)执行此操作。

如果有人有任何想法,我会很高兴听到他们。
谢谢,
卡尔

最佳答案

实现此目的的另一种方法是破解 postscript 文件本身。以前AI文件是postscript文件,可以直接修改;我不知道这是不是真的了。所以你可能需要导出它。

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

您可能需要重新初始化图形状态 ( initgraphics ),因为文档的其余部分可能让一切变得有趣,希望在任何人注意到之前清理显示页面。

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

/Palatino-Roman 17 selectfont %so much prettier than Times
x y moveto
(new text) show

要进行合并,您可以使用 perl:将文档的开头作为 HERE-document 发出,通过程序构建一些文本写入行,发出文档的尾部。这是 generating postscript with PERL 的示例

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

所以,假设你有一个漂亮的图形,一个可怕的 clown 拿着一个大约 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 - 如何在不损失质量的情况下从(Linux)命令行注释 PS 或 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8365597/

相关文章:

pdf - 将 postscript 转换为 a4 格式 pdf

javascript - 试图让 window.URL 在 IE8 中工作。获取未定义的错误

java - 通过 acrokey 查找字段绝对位置和尺寸

php - 如何在php中的控制台上进行对齐

linux - 为什么我们需要执行权限,尽管我们可以使用 "bash script file"运行任何脚本而不需要它?

r - 如何修复 R postscript 函数的剪切输出?

php - Chrome 在内联 PDF 上有 "Failed to load PDF document"错误消息

ios - 如何在 Xcode 中为 pdf Assets 设置色调颜色?

windows - 启动程序并获取进程id

c# - 检查打印机是否支持 postscript