大家好,这是我在网站上的第一个问题。
我使用:NetBeans IDE 7.0.1,我想用java打印PDF,但我不知道我的代码中的错误在哪里,请帮助我。
有一个很好的代码,打印GIF使用的是第5台打印机。
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
pras.add(new Copies(1));
PrintService pss[] = PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.GIF, pras);
if (pss.length == 0) throw new RuntimeException("No printer services available.");
PrintService ps = pss[5];
System.out.println("Printing to " + ps);
DocPrintJob job = ps.createPrintJob();
FileInputStream fin = new FileInputStream("a.gif");
Doc doc = new SimpleDoc(fin, DocFlavor.INPUT_STREAM.GIF, null);
job.print(doc, pras);
fin.close();
但是我不知道下面的代码试图在同一台打印机上打印PDF(第5页)有什么错误
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
pras.add(new Copies(1));
PrintService pss[] = PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.PDF, pras);
if (pss.length == 0) throw new RuntimeException("No printer services available.");
PrintService ps = pss[5];
System.out.println("Printing to " + ps);
DocPrintJob job = ps.createPrintJob();
FileInputStream fin = new FileInputStream("test.PDF");
Doc doc = new SimpleDoc(fin, DocFlavor.INPUT_STREAM.PDF, null);
job.print(doc, pras);
fin.close();
这是程序答案:“线程中的异常”主“java.lang.RuntimeException:没有可用的打印机服务。”
如果您有任何想法,请写下来 谢谢
答案 0 :(得分:0)
您通常无法直接从Java打印PDF。在http://www.jpedal.org/PDFblog/2010/01/printing-pdf-files-from-java/
上写了一篇关于如何做到这一点的博客文章