即時通訊使用Ghostscript通過使用命令通過java渲染圖像,但我試圖運行Ghoscript圖像從PDF使用ghost4j-0.5.0.jar與我從this網站採取它從下面的代碼呈現。爲什麼通過ghostscript API的圖像渲染需要這麼多時間?
問題是,呈現過程需要兩分多鐘才能生成一個圖像,儘管通過命令行需要一秒鐘的時間,但事情是即時通訊嘗試通過java運行每一件事情,我想停止使用imagemagick和ghostscript作爲工具,請注意,即時通訊使用ghoscript滿意,我不想使用任何其他工具,因爲它爲我提供了我所需要的圖像質量和尺寸, 我使用的代碼是:
public class SimpleRendererExample {
public static void main(String[] args) {
imageRenderingFromPdf();
}
public static void imageRenderingFromPdf() {
try {
PDFConverter converter = new PDFConverter();
PDFDocument doc;
// load PDF document
PDFDocument document = new PDFDocument();
document.load(new File("d:/cur/outputfile.pdf"));
// create renderer
SimpleRenderer renderer = new SimpleRenderer();
// set resolution (in DPI)
renderer.setResolution(100);
System.out.println("started");
// render
long before = System.currentTimeMillis();
List<Image> images = renderer.render(document);
long after = System.currentTimeMillis();
System.out.println("reder " + (after - before)/1000);
// write images to files to disk as PNG
try {
before = System.currentTimeMillis();
ImageIO.write((RenderedImage) images.get(0), "png", new File(
"d:/dd" + ".png"));
after = System.currentTimeMillis();
System.out.println("write " + (after - before)/1000);
} catch (IOException e) {
System.out.println("ERROR: " + e.getMessage());
}
} catch (Exception e) {
System.out.println("ERROR: " + e.getMessage());
}
}
謝謝你的解釋,但你能向我解釋這句話嗎? 「讓Ghostscript照顧光柵化結果存儲,而不是從Java手動執行」 – user1283633
是的,我想說的就是簡單地調用Ghostscript.initialize(String [] args),其中args將是您的命令行參數。 – HABJAN
好吧,你已經回答了我的問題:)但根據這[鏈接](http://www.ghost4j.org/coreapisamples.html)它將其轉換爲input.ps,然後顯示回調,爲什麼你認爲它那是嗎? – user1283633