一些背景對這個問題可以在Check printing with Java/JSP被發現和Create a "print-only" PDF with itext如何打開與飛碟/ iText的創建PDF文件使用的打印對話框
我已經能夠與打印成功創建和打開PDF利用iText-2.0.8對話框和下面的代碼:
String outputFile = "firstdoc.pdf";
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(outputFile));
writer.setOpenAction(new PdfAction(PdfAction.PRINTDIALOG));
document.open();
document.add(new Paragraph("TEST"));
document.close();
我也已經能夠使用的飛碟使用下面的代碼生成從XHTML一個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();
不過,我似乎無法得到兩個一起工作......
我想創建一個使用的飛碟在第二代碼塊的PDF 和我想設置該PDF的公開行動爲PdfAction.PRINTDIALOG
。
如何獲得這兩組代碼一起工作,使飛碟創建的PDF最初打開一個打印對話框?
非常感謝,您的文章幫助我解決了我的問題。但是,如果您只想打印PDF,則無需創建第二個PDF文件。我在下面做了以避免創建2個PDF文件: OutputStream os = new FileOutputStream(outputFile); ByteArrayOutputStream outputStreamForPrinter = new ByteArrayOutputStream(); PdfReader reader = new PdfReader(os.toByteArray()); PdfStamper stamper = new PdfStamper(reader,outputStreamForPrinter); – 2014-10-15 12:01:01