2012-03-13 70 views
0

我已經使用飛碟創建PDF,打開時顯示打印對話框。下面是我寫的代碼:加速顯示iText /飛碟生成的PDF打印對話框

String inputFile = "firstdoc.xhtml"; 
String url = new File(inputFile).toURI().toURL().toString(); 
String outputFile = "firstdoc.pdf"; 

OutputStream os = new FileOutputStream(outputFile); 

ITextRenderer renderer = new ITextRenderer(); 
renderer.setDocument(url); 
renderer.layout(); 
renderer.createPDF(os); 

os.close(); 

PdfReader reader = new PdfReader(outputFile); 
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("firstdocprint.pdf")); 
stamper.setPageAction(PdfWriter.PAGE_OPEN, new PdfAction(PdfAction.PRINTDIALOG), 1); 
stamper.close(); 

當我在PC上打開PDF時,打印對話框顯示幾秒鐘後。

然而,當我在嵌入隱藏的iframe的PDF ...

<iframe src="firstdocprint.pdf" style="display:none"></iframe> 

...的PDF打印對話框一直沒有出現,當頁面最初呈現。

隱藏的iframe方法正在處理一個非常簡單的「測試」PDF。我希望「firstdocprint.pdf」打印對話框會在幾秒鐘內顯示出來,而PDF只有2KB(簡單的「TEST」PDF只有1KB)。

有沒有辦法通過編程來加速PDF打印對話框的渲染?

回答

0

它看起來像一對夫婦的事情都加速它爲我...

  • 刪除未使用的/死打印機
  • 而不是使用"display:none",呈現一個非常小的寬度和高度的iframe:
    <iframe src="firstdocprint.pdf" style="width:2px;height:2px;"></iframe>
    我想我可能絕對把它放在頁面的某個位置,或者用另一個元素覆蓋它
相關問題