在 Mac 中 Java 打印 PDF 文件

Posted

技术标签:

【中文标题】在 Mac 中 Java 打印 PDF 文件【英文标题】:Java Printing PDF File in Mac 【发布时间】:2016-11-30 17:28:44 【问题描述】:

我需要使用 Java 将 pdf 文件发送到打印机,同时打开默认打印对话框,用户可以在其中选择他们的首选项。

到目前为止,我使用 pdfbox 打印它,但是在 Mac OS 下打印带有图像的 PDF 时,JDK 中有一个错误: PDFBox on Mac critical error when silent printing。 (有一个光栅化文档的解决方案,但不是很好)

所以我需要找到一种可能性,通过打开此对话框将 pdf 文件发送到打印机。有没有其他免费图书馆可以做到这一点?或者终端命令(我在命令行上尝试了lpr,但它从不显示对话框)。

【问题讨论】:

【参考方案1】:

我可以给你一个部分答案。您可以使用 Applescript 要求 Preview 应用程序打印 PDF 文件并显示打印对话框:

tell application "Preview"
    print POSIX file "/Users/alan/CocoaFundamentals.pdf" with print dialog
end tell

此解决方案的缺点是它会使 PDF 文档在预览中打开。

osascript 程序从终端执行 Applescripts。

【讨论】:

以上是关于在 Mac 中 Java 打印 PDF 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在java中用javascript来打印pdf

java中打印的pdf怎么添加图片水印

打印信息,通过.jasper工具将集合输出到PDF文件 然后利用打印机打印文件

java从远程服务器获取PDF文件并后台打印(使用pdfFox)

java 打印pdf文件

关于这两天研究Java打印pdf方法的记录