iText
这个免费的东东还真是好用
,
之前用它生成、合并
PDF
文档,完全没有问题。最近客户又有了新需求,
要求说在打开
PDF
的同时,弹出
printer setup dialog .
以下是ITEXT网站里的sample. 在生成pdf的同时,可以加一句javascript到PDF里面去, 来打印这个PDF。
Document document = new Document();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
PdfWriter writer = PdfWriter.getInstance(document, baos);
document.open();
//就是这句话
writer.addJavaScript("this.print(false);", false);
//
document.add(new Chunk("Silent Auto Print"));
document.close();
} catch (DocumentException e) {
e.printStackTrace();
}
resp.setContentType("application/pdf");
resp.setContentLength(baos.size());
baos.writeTo(out);
out.flush();
注意这里说的是silent printing , 在Adobe Reader里面打开生成的PDF文件, 会直接将文件打印到机器的默认打印机上。
将this.print(false); 改为this.print(true); 的效果才会show printer setup dialog.