Java:如何从EPS构建PostScript文件?
我想从Java中的Graphics2D创建一个多页PostScript文件。我目前有Java代码,可以为每个页面写入Graphics2D对象。使用EPSGraphics库,我可以使用它为每个页面创建一个EPS对象 然后如何从EPS对象集合中构建PostScript文件Java:如何从EPS构建PostScript文件?,java,graphics2d,postscript,Java,Graphics2d,Postscript,我想从Java中的Graphics2D创建一个多页PostScript文件。我目前有Java代码,可以为每个页面写入Graphics2D对象。使用EPSGraphics库,我可以使用它为每个页面创建一个EPS对象 然后如何从EPS对象集合中构建PostScript文件 注意:我不是在问,如果这是一种方法,并且存在几种方法,那么最好的库是什么。我只是想问一下如何做到这一点。每个EPS文件都有一个边界框作为注释(可能还有一个HiResBoundingBox)。您需要阅读注释,它将告诉您每个EPS的大
注意:我不是在问,如果这是一种方法,并且存在几种方法,那么最好的库是什么。我只是想问一下如何做到这一点。每个EPS文件都有一个边界框作为注释(可能还有一个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
每个EPS文件都有一个边界框作为注释(可能还有一个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
“是否有一个Java库可以这样做和/或有一个网页解释该做什么?”这种问题是离题的,您应该重新措辞。也许:“是否有一个Java库可以这样做,或者有一个网页可以解释怎么做?”这种问题是离题的,您应该重新措辞。也许:那么边界框是以点为单位的?这是有道理的。这就像EMF一样,它也是基于向量的,但有一个固定的大小(当然可以忽略)。谢谢。那么边界框就是点了?这是有道理的。这就像EMF一样,它也是基于向量的,但有一个固定的大小(当然可以忽略)。非常感谢。