Java将PostScript转换为任何图像格式

时间:2012-01-18 02:46:43

标签: java image jpeg postscript

我目前正在用Java编写一个创建PostScript文档的应用程序,我正在寻找一种方法来创建文档的示例图像。样本图像仅供用户使用,以查看他们正在构建的文档在当前状态下的显示方式。

有人知道这样做的方法吗?如果有人知道这样做的算法会很棒。如果必须(最后的手段),我也愿意接受第三方软件。

2 个答案:

答案 0 :(得分:4)

正如其他人所提到的,PostScript language是一个图灵完备的编程语言,具有复杂的成像模型。渲染由任意PostScript语言片段绘制的图像是一项艰巨的任务。你绝对应该调用一个成熟的现有PostScript解释器,而不是试图实现一个"算法"这样做。

一个备受推崇的PostScript解释器是GhostScript。 Ghostscript可以免费用于非商业用途。 Ghost4J似乎是一个包装GhostScript API的Java类框架。 (我没用过它。)

或者您可以将PostScript语言代码写入磁盘文件,并调用单独的进程将代码呈现到图像文件,然后从磁盘读取图像文件。查看Stackoverflow Questions tagged "ghostscript"了解更多提示。

如果您想要一个PostScript解释器用于商业用途,一个选项是Distiller Service of LiveCycle ES。 LiveCycle ES几乎肯定不是低成本解决方案。您也可以捆绑Adobe Acrobat Professional的副本,其中包括一个名为Distiller的PostScript解释器。然后使用Distiller调用一个单独的进程来渲染PostScript语言代码,就像上面的GhostScript一样。

除Adobe以外的其他公司以商业条款提供PostScript口译员。

答案 1 :(得分:4)

你可以像这样使用Ghost4J:

// load PS document
PSDocument document = new PSDocument();
document.load(new File("input.ps"));

// create renderer
SimpleRenderer renderer = new SimpleRenderer();

// set resolution (in DPI)
renderer.setResolution(300);

// render
List<Image> images = renderer.render(document);

它与PDF文件一样好用。查看完整示例here