【问题标题】:PDF printing in javaJava中的PDF打印
【发布时间】:2010-05-21 11:33:01
【问题描述】:

有没有办法在最终用户的本地打印机(通过 vpn 连接)上从 java web 应用程序打印 pdf 文件? 通过 Java 打印服务简单查找打印机总是返回无法打印 pdf 的打印机。是否还有其他可用于在 java 中打印的库?

顺便说一下,不能只在浏览器中打开 pdf,但必须可以在没有用户交互的情况下运行预定的批量打印。

提前致谢

【问题讨论】:

  • 您的应用程序必须能够在没有任何“客户端”的情况下直接与打印机对话。确保你有这个:)

标签: java printing


【解决方案1】:

由于 Java Web 应用程序无法连接到客户端(客户端连接到它),所以没有办法做到这一点。

唯一的解决方案是通过下载链接或类似的方式将 PDF 文件发送给客户端,以便客户端上的浏览器可以为用户提供保存或打印。

【讨论】:

  • 谢谢亚伦。我们目前所做的是通过其 IP 连接到打印机,并通过 LPR 发送文档。这适用于不同的文档类型,但不适用于 pdf。
  • 有趣;我期望相反:大多数打印机应该能够处理 PDF。您可以尝试在服务器上将 PDF 文档转换为打印机可以理解的内容(参见其手册)。
【解决方案2】:

我目前有同样的问题 - 必须找到打印 PDF 和 Word 文档的方法。 简短的回答是:

这并不像你想要的那么简单。

问题是“某人”必须解释您的文档。那个人要么是打印机,要么是你。

并非所有打印机都支持 DocFlavor.x.PDF。我们公司有四台打印机(一台是上个月刚买的),但没有一台。 如果您找到了接受该 DocFlavor 的打印机,您就完成了。

但由于打印机可能不知道如何处理 PDF 文件,因此您必须自己渲染文档。我可以推荐尝试PDFRendererPDFBox。对我来说 PDFRenderer 效果很好,PDFBox 不能正确打印文本,但其他人报告相反。所以,你将不得不自己尝试。

所有这些对 Word 文档仍然没有帮助,但这不是你关心的问题。

【讨论】:

    猜你喜欢
    • 2012-03-17
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    相关资源
    最近更新 更多