【发布时间】:2015-10-10 09:09:07
【问题描述】:
我正在尝试使用 PDFBox 打印现有的 PDF 文件。代码如下:
public void sendToPrinter(){
File PDFFile = new File("Example.pdf");
try {
PDDocument pd = PDDocument.load(PDFFile);
pd.print();
pd.close();
} catch (IOException | PrinterException ex) {
System.out.println("Error: Couldn't find pdf or printers");
}
}
但是,当我运行它时,程序冻结在pd.print()。不抛出异常,不出现打印对话框。它只是没有做任何事情。以前有人遇到过这个问题吗?
规格:Mac OS X Yosemite、PDFBox v1.8.9、JDK1.8.0_05、HP Photosmart 打印机
【问题讨论】:
-
你用的是什么版本?您可以使用 PDFReader 命令行实用程序显示文件吗?您可以使用 PrintPDF 命令行实用程序进行打印吗?每个 PDF 都会发生这种情况,还是只有一个特定的 PDF 会发生这种情况?可以分享一下PDF文件吗?
-
我使用的是最新版本——1.8.9。我没有使用任何命令行实用程序,但我测试过的所有三个 PDF 文件都在普通 PDF 查看器中打开,但不是在 PDFBox 中。
-
这是我尝试过的 PDF 之一。它只有 1 页,上面几乎没有任何内容:cl.ly/c0cX/download/nYPhhd.pdf
-
我用 1.8.9 测试过。它在 PDFReader 中打开,在那里打印,并且还使用您的代码打印。所以原因与您的配置有关。请将其添加到您的问题(操作系统版本、JDK、打印机)中,并在 PDFBox 用户邮件列表中提出相同的问题:mail-archives.apache.org/mod_mbox/pdfbox-users
-
我得到一个打印对话框。要在没有对话框的情况下打印,请使用silentPrint()。如果可能,请更新您的 JDK。