【问题标题】:Reliably print PDF (1.4 and 1.5) to a network printer using Java使用 Java 将 PDF(1.4 和 1.5)可靠地打印到网络打印机
【发布时间】:2011-05-26 06:14:42
【问题描述】:

我一直在使用this question(包括jLpr)中详述的解决方案将PDF文档打印到网络打印机。但是,我在 PDF 版本兼容性方面遇到了一些问题。

当我打印 PDF 1.4 的文档时,效果很好。 (要重现,请在 OpenOffice 中创建一个简单的文本文档并将其导出为 PDF。)但是当我打印 PDF 1.5 文档时,输出只是乱码——没有可读的 PDF。

jLpr 似乎无法处理 PDF 1.5 文档(打印机的传输或解码出现问题或某些问题)。

在我提到的问题中,我需要一个依赖项尽可能少的跨平台解决方案。我怎样才能让 jLpr 工作?有更好的方法吗?

【问题讨论】:

  • 它是 PDF 的版本,还是它的内容? “版本”只是文件前面的一个字节:“%%PDF1.X”,其中 X 是介于 0 和...之间的某个数字。 7. 如果调整该字节(在十六进制编辑器中,如果没有别的)修复你的问题,您的打印机驱动程序很糟糕。如果不是……某些结构性的东西会导致您的打印机呕吐。版本本身不是问题。

标签: java pdf printing postscript


【解决方案1】:

这与 Java 无关。 Java 库只是将 PDF 发送到您的打印机。如果您的打印机不能处理 PDF 1.5,它就不能处理 1.5。 Javalpr 不是 postscript 解释器,它只是 LPR 协议的网络客户端,用于将 stuff 发送到打印机。

【讨论】:

    【解决方案2】:

    除非打印机本身支持 PDF,否则 Java 无法打印 PDF。您需要使用 hack 或 PDF renderign 库来栅格化它。我们在http://www.jpedal.org/PDFblog/2010/01/printing-pdf-files-from-java/http://www.jpedal.org/PDFblog/2010/01/printing-pdf-files-from-java/写了一篇关于用 Java 打印 PDF 的文章

    【讨论】:

      猜你喜欢
      • 2014-02-10
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多