[英]jasperreports images are always blurry
一个仅包含png的简单报告。
Png的dpi是96,看起来非常清晰。 但是,每次我将报告导出到.docx或pdf时,只会显示非常模糊的图像。
我试过设置
net.sf.jasperreports.image.dpi
至300和96
既在ireport中,又直接在报表的jrxml中作为属性。
没用。
例外
我已经迷失了很多时间来搜寻此事,但仍然没有答案。
更新1
我已经能够将导致这种奇怪行为的原因追溯到itext。 似乎它必须对此进行处理。
更新2
这是jrxml代码
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="carta_policia" pageWidth="612" pageHeight="792" columnWidth="572" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="fbda9a68-7549-438c-a8ad-b3aedaf0b2d4">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="ireport.background.image" value="C:\Users\thou\workspace\cujillo\WebContent\resources\reports\fondo.png"/>
<property name="ireport.background.image.properties" value="false,true,0.25,0,0,0,0,0,0"/>
<property name="net.sf.jasperreports.image.dpi" value="96"/>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["C:/Users/thou/workspace/cujillo/WebContent/resources/reports/"]]></defaultValueExpression>
</parameter>
<parameter name="R_RADICADO" class="java.lang.String"/>
<parameter name="SUBREPORT_DATA_SOURCE" class="net.sf.jasperreports.engine.JRDataSource"/>
<parameter name="R_ASUNTO" class="java.lang.String"/>
<parameter name="R_LOCALIDAD" class="java.lang.String"/>
<parameter name="R_IMAGE_RENDERER" class="net.sf.jasperreports.engine.JRRenderable" isForPrompting="false"/>
<parameter name="R_PRINT_BACKGROUND" class="java.lang.String"/>
<background>
<band height="752"/>
</background>
<title>
<band height="371" splitType="Stretch">
<image scaleImage="RealSize">
<reportElement uuid="dbadb500-4011-415b-bd98-4236532783c4" x="234" y="147" width="75" height="63"/>
<imageExpression><![CDATA["C:\\Users\\thou\\workspace\\cujillo\\WebContent\\resources\\reports\\alcaldia mayor.png"]]></imageExpression>
</image>
<image scaleImage="Clip">
<reportElement uuid="ecf7dbe3-4369-41a8-ba49-db98ba5ef478" x="309" y="151" width="75" height="63"/>
<imageExpression><![CDATA["C:\\Users\\thou\\workspace\\cujillo\\WebContent\\resources\\reports\\alcaldia mayor.jpg"]]></imageExpression>
</image>
</band>
</title>
<pageHeader>
<band splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band splitType="Stretch"/>
</columnHeader>
<detail>
<band height="104" splitType="Stretch"/>
</detail>
<columnFooter>
<band splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="11" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="209" splitType="Stretch"/>
</summary>
</jasperReport>
尽管我们在演示文稿中提高了DPI设置,但我实现了一个自定义导出器 ,该导出器将图表导出为PowerPoint形状而不是光栅图像。 至少对于.docx来说,实现类似的东西是可行的。
之前我已经开始形状出口类,我试图使用EMF( 1 , 2 )作为图像格式,但这是非常有限的,例如,它没有嵌入字体。
我没有进一步寻找方向,但是也许您可以将中间的SVG图像转换为可以嵌入到.docx / .pdf中的图像 (光栅/矢量)。
您是否检查了.docx-Zip文件中的图像? ...是普通图像还是模糊的或仅在Word / LibreOffice中显示时。 当然,更改DPI设置后,图像也应更改-否则,请尝试将jasperreports.properties放在类路径中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.