在脚本中嵌入一次并多次引用该EPS文件

问题描述 投票:1回答:2

我正在使用Apache FOP创建10000页的后记文件,每页仅包含一个人的名字。我得到了一个大(4MB)的EPS文件,该文件应添加到每页的背景中。我应该创建一个输出后记文件以进行打印。尽管我可以将EPS嵌入到我的脚本的每一页中(如EPSF_SPEC [1]中所述),但是我想将其嵌入一次并引用它。否则,为每个输出页面添加4MB,并且最终的输出脚本很大。可以在附言中这样做吗?如果是,怎么办?

我已经看过[2]。我也将它们创建为PDF,并使用iText一次添加了背景。尺寸很小,但是当我使用Ghostscript将其转换为PS时,尺寸太大。最后,即使使用optimize-resources = true进行配置,FOP也只能内联添加EPS文件。

[1] http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf

[2] Overlay two postscript files (command line approach)?

postscript eps
2个回答
1
投票

您可以将EPS定义为表单,然后根据需要执行表单。请参见《 PostScript语言参考手册》的第4.7节:

4.7表单表单是对要绘制成多个的任意图形,文本或样本图像的独立描述。时间,在同一页面上的多个页面或多个位置页。表单的外观由PostScript过程描述调用图形运算符。表格的语言支持是LanguageLevel 2功能。

[请注意,Ghostscript pswrite / ps2write设备不支持将PDF表单作为PostScript表单处理,因此请多次嵌入olutput。我的假设是这就是为什么您的方法[2]不起作用的原因。


0
投票

在文件开头,请执行

/drawBackground {
    save
    /showpage {} bind def
    <contents of background.eps>
    restore
} def

((仅当您的EPS包含save时,才需要/showpage ... defrestoreshowpage行,它们经常这样做。)

绘制页面时,请执行

drawBackground
...
showpage
© www.soinside.com 2019 - 2024. All rights reserved.