我正在尝试加载PDF文档并打印它。整个过程都正常,但我收到了以下警告“警告:您没有关闭PDF文档”,我不明白为什么在我关闭文档后会出现这种情况。它出现在第11行(job.print();)。因为它是在打印时发生的,所以我无法调试它。
private void print(ByteArrayInputStream document, String printerName) {
PrinterJob job = PrinterJob.getPrinterJob();
PDDocument doc = new PDDocument();
if (checkForPrinter(printerName)) {
try {
doc = PDDocument.load(document);
job.setPageable(new PDFPageable(doc));
job.setPrintService(myService);
job.print(); // --> "Warning: You did not close a PDF Document"
} catch (PrinterException | IOException ex) {
System.err.println(ex.getMessage());
} finally {
try {
doc.close();
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
}
}
}
见@pringi的评论。您应该简化您的try块,使用自动处理关闭的资源尝试处理,并且不需要使用本地doc=new PD文档()
变量创建2 xPD文档
:
try(PDDocument doc = PDDocument.load(document)) {
job.setPageable(new PDFPageable(doc));
job.setPrintService(myService);
job.print();
}
我想按页分割pdf到图像文件,但我得到了警告:你没有关闭PDF文档循环时renderImageBackDPI仍然有警告更新代码: 错误循环 总警告与页数相同。。。我已经尝试关闭但无法工作,这个过程使我的服务器成为java。lang.OutOfMemoryError:Java堆空间 更新: 这是调用拆分方法的代码......
在对PDF文档进行数字签名后,我在Apache PDFBox中关闭了PDF文档。我收到警告:
我正在尝试用Java设置一个printer类,它可以使用PDFBox打印PDF文件。我的printPdf方法已成功添加。打印机队列中的pdf文件,但它根本不打印(它卡在“打印…”中)国家)。 它只发生在某些特定的PDF文件上。对于某些pdf文件,它可以完美运行,对于某些文件,问题会发生。 以下是我用来打印pdf文件的代码: FilePrinter.printPdf方法: 我试图打印的pdf文件有2
问题内容: 我正在验证器中发出很多警告,并且我想抑制stdout中的所有内容,除非提供给的消息。 即,现在我看到了: 我想看看这个: 编辑2: 覆盖工作: 问题答案: 具有您自己的自定义功能的Monkeypatch 。
我目前的工作是创建机械图纸,用于发送给客户和作为施工图。当我的绘图完成后,我导出一个. pdf文件,并将其发送给客户端。 我们的客户非常喜欢黑白画,所以我试着提供他们。但是我用来画画的软件效果不好。它只有一个选项“所有颜色都是黑色”,我的画上有一些白色的“隐藏线”。当然,这些显示使用所有颜色作为黑色选项。 我找到了一个解决方案,那就是使用pdf打印机。效果很好,效果也很好。 现在我想打印这个。pd
我使用以下Java代码打印PDF文档: 控制台上的输出是: 为什么我会收到这个警告?