我想用Java中的Graphics2D创建一个多页PostScript文件。我目前拥有为每个页面写入Graphics2D对象的Java代码。使用EPSGraphics库,我可以使用它来为每个页面创建一个EPS对象。
如何从这个EPS对象集合中构建PostScript文件?
注意:我不询问什么是最好的库,如果这是方法和几个存在。我只想问怎么做。
答案 0 :(得分:2)
每个EPS文件都有一个BoundingBox作为注释(可能还有HiResBoundingBox),您需要阅读注释,这些注释将告诉您每个EPS的大小(以PostScript点为单位)。
然后您需要决定如何绘制每个EPS(注意,EPS是单个数字不一个页面)。给定边界框,您可以决定在页面上放置图形的位置。然后保存当前图形状态,写入比例,翻译和旋转运算符以在页面上放置EPS,然后执行grestore。
如果您想要每页多个EPS数字,请重复每个数字。
在页面的末尾,编写showpage运算符以呈现和弹出页面。重复下一页。
所以你的最终PostScript程序看起来应该是这样的:
%!PS
gsave
x y translate
x y scale
% Insert the entire content of the first EPS here
%
%!PS_Adobe_EPSF....
....
....
%%EOF
grestore
gsave
x y translate
x y scale
% Insert the entire content of the second EPS here (if required)
%
%!PS_Adobe_EPSF....
....
....
%%EOF
...
...
grestore
showpage
%% Begin page 2, repeat as above
showpage