gpt4 book ai didi

java - 分辨率不同于 72dpi 的 JasperReports

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:20:00 24 4
gpt4 key购买 nike

我一直在尝试使用 JasperReports 以高于 72dpi 的分辨率打印,但没有成功。

我需要使用 72dpi 以上的分辨率,因为我要打印那些预先格式化的不干胶标签,在设置位置时需要一定的精度。但是,由于 JasperReports 只能使用像素,而 AFAIK 仅支持 72dpi 配置,我无法正确设置边距、间距等。

比如需要1mm的配置,需要转为像素,iReport自动转为3px(实际实际值为~3.78px,但像素不能为小数,iReport会截断而不是四舍五入)。但是,当你将它计算回毫米时(例如,当你打印时),它实际上得到的尺寸约为 0.79 毫米,而不是你需要的旧 1 毫米。如果考虑圆形值(4px 而不是 3px),您的最终打印值为 ~ 1.06mm,仍然是错误的。

即使您认为 0.06 毫米或 0.21 毫米没有值(value),当您有 20 个或更多排序标签时,它实际上是有值(value)的,并且随着标签数量的增加,这个误差范围会变得更大。

最后,有没有什么方法可以使用 JasperReports 来打印具有毫米精度的报告,或者是否有解决此问题的方法?

最佳答案

作为一种变通方法起作用的是使用 JRGraphics2DExporterParameter.ZOOM_RATIO 作为 PrinterExporter 参数,并将适当的缩放比率设置为 float 。

例如,假设我有一个 144dpi 配置 (2 x 72dpi),如果我将 0.5f 作为参数传递,则上述 ZOOM 解决方案有效,因为它打印 72dpi 等效尺寸。

考虑到这是一种解决方法,我们将不胜感激真正的 DPI 解决方案。

关于java - 分辨率不同于 72dpi 的 JasperReports,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1844097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com