【问题标题】:Java: How do I build a PostScript file from EPS?Java:如何从 EPS 构建 PostScript 文件?
【发布时间】:2017-05-13 03:57:51
【问题描述】:

我想在 Java 中从 Graphics2D 创建一个多页 PostScript 文件。我目前有为每个页面写入 Graphics2D 对象的 Java 代码。使用 EPSGraphics 库,我可以使用它为每个页面创建一个 EPS 对象。

然后我如何从这个 EPS 对象集合构建 PostScript 文件?

注意:我不是问如果这是方法并且存在几个,那么最好的库是什么。我只是问如何做到这一点。

【问题讨论】:

标签: java graphics2d postscript


【解决方案1】:

每个 EPS 文件都有一个 BoundingBox 作为您需要读取 cmets 的注释(可能还有一个 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

【讨论】:

  • 那么边界框是以点为单位的吗?那讲得通。这就像 EMF,它也是基于矢量但有一个固定的大小(当然可以忽略)。谢谢。
猜你喜欢
  • 1970-01-01
  • 2013-07-14
  • 2011-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-24
相关资源
最近更新 更多