2012-03-13 15 views
0

オープン時に印刷ダイアログを表示するフライングソーサーを使用してPDFを作成しました。私は、数秒後に印刷ダイアログが表示され、自分のPC上で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(); 

:ここで私はこれを行うために書いたコードです。しかし

、私は非表示のiframeにPDFを埋め込む...

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

... PDFの印刷ダイアログでは、ページが最初にレンダリングされるときに現れることはありません。

非表示のiframeアプローチは、非常に単純な「テスト」PDFで動作しています。私は、 "firstdocprint.pdf"印刷ダイアログが2秒以内に表示されるだけでなく、PDFが2KBであることを期待しています(単純な "テスト" PDFは1KBです)。

PDF印刷ダイアログのレンダリングを高速化する方法はありますか?

答えて

0

また、物事のカップルは私のためにそれをスピードアップしているように見えます...

  • 削除未使用/死んでプリンタの代わりに、非常に小さく、幅と高さのiframeをレンダリング"display:none"を使用しての

  • <iframe src="firstdocprint.pdf" style="width:2px;height:2px;"></iframe>
    私はそれをページのどこかに絶対的に置くか、別の要素で覆うこともできると思います。
関連する問題