jasperreports图像总是模糊的

dem*_*onz 9 java image jasper-reports

一个简单的报告,其中只有一个png.

Png的dpi是96,看起来非常清晰.但是,每次我导出报告时,无论是.docx还是pdf,都只会出现非常模糊的图像.

我试过设定

net.sf.jasperreports.image.dpi 
Run Code Online (Sandbox Code Playgroud)

到300,到96

无论是在ireports还是直接在报告的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>
Run Code Online (Sandbox Code Playgroud)

kiw*_*ngs 2

尽管我们在演示文稿中提高了 DPI 设置,但我实现了一个自定义导出器,它将图表导出为 powerpoint 形状而不是光栅图像。至少对于 .docx 来说,实现类似的东西是可行的。

在开始形状导出类之前,我尝试使用 EMF ( 1 , 2 ) 作为图像格式,但这非常有限,例如它不嵌入字体。

我没有进一步搜索该方向,但也许您可以将中间 SVG 图像转换为可以嵌入到 .docx/.pdf 中的内容(光栅/矢量)。

您检查过 .docx-Zip-file 内的图像吗?...普通图像是否也模糊,或者仅在通过 Word/LibreOffice 显示时才模糊。当然,更改 DPI 设置后图像应该会发生变化 - 如果没有,请尝试将jasperreports.properties放入类路径中