Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何简化标签打印对齐配置?_Java_Jsp_Pdf_Printing_Jasper Reports - Fatal编程技术网

Java 如何简化标签打印对齐配置?

Java 如何简化标签打印对齐配置?,java,jsp,pdf,printing,jasper-reports,Java,Jsp,Pdf,Printing,Jasper Reports,使用JSP和Jasper报告,我制作了一个打印A4标签页的应用程序 我必须根据不同的页面(2×5、2×7、3×10和3×11网格)、不同的打印机(京瓷、OKI和HP)和不同的PDF查看器(Adobe、Foxit和Nitro)配置我的应用程序(在要生成的PDF页面上设置对齐方式) 示例:我在Jasper Reports中设置了一个2×5网格的A4页面,一个拥有Foxit Reader的用户将在京瓷上打印。如果另一个用户也有京瓷,但正在使用Adobe Reader,则列之间的空间会变小。但如果用户有

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

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

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


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

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

我知道在Adobe reader中,
页面大小和处理
下的打印对话框中有一个设置。他们应该使用
实际大小
,以免对图像进行任何缩放或操纵

在Foxit Reader中,它位于
打印处理
下。您需要将缩放类型设置为
None
。默认设置似乎是“适合打印机边距”

对于每个PDF阅读器和/或每个版本和打印机组合,您不必做任何不同的操作。这是一个维护噩梦,你不应该试图承担这一责任。每次他们购买新打印机时,您都必须进行更改,并且有可能在他们的读卡器出现升级时进行更改

最好的办法是找出它们产生不同结果的原因,并解决这个问题,而不是强行解决这个问题。我敢肯定,这更像是用户的培训问题,告诉他们这些设置应该可以解决问题


更新:进一步挖掘后,似乎可以在导出时设置打印比例值。创建
JRPdfExporter
后,需要设置为:

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

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