【发布时间】:2013-05-01 22:15:00
【问题描述】:
在某些打印机上,无论出于何种原因,在通过 Java JVM (Java 7) 打印时,打印输出都会自动放大,看起来像是默认设置。这似乎与较旧的打印机有关,而且非常罕见,但不止一种打印机型号会发生这种情况。升级驱动程序也不能解决问题。
该软件使用JFreeReport(经典引擎)库,当使用该库导出为PDF时,一切都很棒。使用库的打印预览也是完美的。然而,当涉及到打印时,并且这仅适用于极少数打印机,打印输出会被放大。它们没有放大,但字体要大得多,而且间距不正确,因此它们相互重叠。
这些带有 JDK 6 的打印机似乎工作正常。看来,我仍在尝试隔离问题。我的想法是这些打印机可能无法正确支持 Java 7
更新:我找到了this thread which seems to indicate that there are some issues with JDK 7u21。我在发行说明中没有看到任何解决此问题的内容。另外这里是another example of the a similar bug report。
更新 2:对于任何感兴趣的人,我写了一篇名为 Printing is Broken on Mac OS X with Java 7 的博客文章,讨论了这个问题,其中包含更多细节和我发现的内容。
【问题讨论】:
-
现在我正在创建一个临时文件,然后调用“lp tempFile.pdf”,但这并不理想,因为它假定默认打印机是正确的。必须有一个解决方案。我不敢相信甲骨文和苹果已经离开这个主要的明显错误好几个月了。这对于很多应用程序来说都是至关重要的!!!
标签: java printing awt java-7 jfreereport