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



我目前正在用Java编写一个创建PostScript文档的应用程序,我正在寻找创建文档示例图像的方法。示例图像仅用于用户查看他们正在构建的文档在当前状态下的外观。

有人知道这样做的方法吗?如果有人知道这样做的算法,那就太好了。如果必须的话(最后的手段),我也对第三方软件持开放态度。

你可以用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文件。在这里查看完整的示例。

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

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

或者,您可以将PostScript语言代码写入磁盘文件,并调用一个单独的过程将代码渲染到图像文件,然后从磁盘读取图像文件。查看标记为"重影脚本"的堆栈溢出问题,了解更多想法。

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

除了Adobe之外,其他公司也以商业条款提供PostScript解释器。

最新更新