Jasper reports JasperReport在导出为PDF时缩放图像,从而降低质量
我有一个用iReport 1.3.0设计的报告。此报告包含多个动态加载的图像。然后我使用Jasper reports JasperReport在导出为PDF时缩放图像,从而降低质量,jasper-reports,ireport,Jasper Reports,Ireport,我有一个用iReport 1.3.0设计的报告。此报告包含多个动态加载的图像。然后我使用jasperunmanager.runReportToPdfFile创建PDF。PDF中的所有内容看起来都很好,但图像显示为缩放 谁能告诉我我做错了什么 谢谢。关于图像 如果将报告另存为HTML,则会注意到徽标显示正确 图像文件(如PNG)是光栅图像:存储为单个像素 而PDF文件主要是矢量化的:其中的元素存储为如何绘制它们的描述。这使得PDF可以按比例缩放,并且可以在任何尺寸下清晰可见 使用矢量格式的光栅图像
jasperunmanager.runReportToPdfFile
创建PDF。PDF中的所有内容看起来都很好,但图像显示为缩放
谁能告诉我我做错了什么
谢谢。关于图像
如果将报告另存为HTML,则会注意到徽标显示正确
图像文件(如PNG)是光栅图像:存储为单个像素
而PDF文件主要是矢量化的:其中的元素存储为如何绘制它们的描述。这使得PDF可以按比例缩放,并且可以在任何尺寸下清晰可见
使用矢量格式的光栅图像可能会产生像素化效果
可能的解决方案
为了方便起见,您有几个选项可以使图像与文本的质量相匹配:
- 创建一个1200 dpi的徽标版本,放大400%
- 创建徽标的SVG版本
- 将图像转换为矢量格式
- 将图像缩放300%,并将分辨率更改为288 dpi
XML(确保相应地调整宽度和高度):
将GIF转换为SVG
要将GIF转换为SVG,请首先尝试一种基于web的快速工具,例如:
转换为SVG后,必须使用上面列出的代码来显示徽标
分辨率和比例
见:
我刚刚下载并安装了最新版本(4.0.0)。我尝试了报告的预览,但图像仍然按比例显示。我一定缺少一些配置参数,但我不知道是哪一个。请帮忙!在较新版本的JasperReports中,不需要设置
类
属性(以防您想知道如何在JRDesignExpression
上设置该属性)。解决方案解决了我的问题。我把图像放大了,效果很好。
<image hAlign="Center" vAlign="Middle">
<reportElement x="0" y="0" width="179" height="66"/>
<imageExpression class="net.sf.jasperreports.engine.JRRenderable"><![CDATA[net.sf.jasperreports.renderers.BatikRenderer.getInstance(new java.io.File("/path/to/logo.svg"))]]></imageExpression>
</image>