2012-01-18 33 views
1

我目前正在編寫用Java創建PostScript文檔的應用程序,我正在尋找一種方法來創建文檔的示例圖像。示例圖像僅供用戶使用,以瞭解他們正在構建的文檔在當前狀態下的外觀。Java將PostScript轉換爲任何圖像格式

有沒有人知道如何做到這一點?如果有人知道這樣做的算法會很棒。如果我不得不(不得已),我也對第三方軟件開放。

+0

呈現PostScript文件是一項非常複雜的任務,因此您不需要使用「算法」。哎呀,PostScript是圖靈完整的; )所以你最好的選擇是使用第三方的Java API或者已經存在的程序的包裝。你在哪個平臺上,是在服務器端發生還是在桌面應用程序中發生?我一直使用* ps2pdf *,並且還有允許將PostScript頁面呈現爲位圖的命令。 – TacticalCoder 2012-01-18 02:55:17

+0

我希望最終產品是跨平臺的。目前我正在Windows 7中開發。因此,第三方API或封裝聽起來像是一個很好的方法。我只需要找到一個。有任何想法嗎? – berniefitz 2012-01-18 02:59:10

+0

由於您的應用程序創建了文檔,您可能可以編寫代碼來渲染它(無論是從PostScript還是從您構建它的任何數據)。你可以發佈一個示例PostScript文檔嗎? – 2012-01-18 03:13:48

回答

3

你可以用這樣的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

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口譯員。