9

png のみの単純なレポート。

Png の dpi は 96 で、かなりシャープに見えます。ただし、レポートを .docx または pdf にエクスポートするたびに、非常にぼやけた画像しか表示されません。

設定してみました

net.sf.jasperreports.image.dpi 

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>
4

1 に答える 1

2

プレゼンテーションの DPI 設定を上げましたが、カスタム エクスポーターを実装しました。このエクスポーターは、グラフをラスター イメージではなく、パワーポイントの形状としてエクスポートします。少なくとも .docx については、同様のものを実装できます。

シェイプ エクスポート クラスを開始する前に、EMF ( 1 , 2 ) を画像形式として使用しようとしましたが、これは非常に制限されています。たとえば、フォントが埋め込まれていません。

私はその方向でさらに検索していませんが、中間の SVG 画像を .docx/.pdf に埋め込むことができるもの (ラスター/ベクター) に変換できるかもしれません。

.docx-Zip-file 内の画像を確認しましたか? ...無地の画像もぼやけているか、Word/LibreOfficeで表示されているだけです。そしてもちろん、DPI設定を変更した後、画像が変更されるはずです-そうでない場合は、クラスパスにjasperreports.propertiesを配置してみてください

于 2013-05-02T21:20:16.463 に答える