2

使用 JSP 和 Jasper Reports,我制作了一个打印 A4 标签页的应用程序。

我必须根据不同的页面(2×5、2×7、3×10 和 3×11 网格)、不同的打印机(京瓷、OKI 和 HP)配置我的应用程序(在要生成的 PDF 页面上设置对齐方式)和不同的 PDF 查看器(Adobe、Foxit 和 Nitro)。

示例:我在 Jasper Reports 中设置了一个 2×5 网格的 A4 页面,拥有 Foxit Reader 的用户将在京瓷上打印。如果另一个用户也有 Kyocera 但正在使用 Adob​​e Reader,则列之间的空间会变小。但是,如果用户有 Foxit Reader 但要在 OKI 上打印,则整个文档会向左走,甚至会被剪切。

配置每个单独的标签页面是不可避免的,但我是否可以不必为特定的 PDF 查看器或打印机(至少其中一个)设置页面对齐方式?它可以是一种跳过 PDF 生成或所有打印机都会解释的常规配置的方法 - 让我的页面打印完全相同,无论 PDF 查看器或打印机如何。

4

1 回答 1

0

您确定这不是 Foxit Reader 和/或 Adob​​e Reader 中导致问题的设置吗?

我知道在 Adob​​e 阅读器中的打印对话框中有一个设置Page Sizing & Handling。他们应该使用Actual Size以便不对图像进行任何缩放或操作。

Adobe Reader - 页面大小和处理

在福昕阅读器中,它位于Print Handling. 您需要将缩放类型设置为None。默认似乎是Fit to Printer Margins.

福昕阅读器 - 打印处理

您不必为每个 PDF 阅读器和/或每个版本和打印机组合做任何不同的事情。这是一个维护噩梦,你不应该尝试接受它。每次他们购买新打印机时,您都必须进行更改,并且可能在他们的阅读器升级时进行更改。

最好的办法是弄清楚他们为什么会产生不同的结果,然后解决这个问题,而不是蛮力解决这个问题。我很确定这更多是您的用户的培训问题,告诉他们这些设置应该可以解决问题。


更新:经过更多挖掘后,似乎可以在导出时设置打印缩放的值。创建后,JRPdfExporter您需要设置JRPdfExporterParameter.PRINT_SCALINGJRPdfExporterParameter.PRINT_SCALING_NONE

exporter.setParameter(JRPdfExporterParameter.PRINT_SCALING, JRPdfExporterParameter.PRINT_SCALING_NONE);

我不知道这是否也适用于 Foxit Reader,但我认为它会。

于 2012-12-07T15:58:28.457 回答