2016-07-11 79 views
1

HTML形式でエクスポートしたときに、JasperReportsで鮮明なチャートを作成することは可能ですか?JasperReports HTMLレポートのSVGチャート

私はSVGチャートレンダラータイプを使用していますが、これはPDFエクスポートに適しています。 HTMLのエクスポートはぼやけたままです。

私は、JFreeChartとBatikRenderer(スクリプトレットを使用)でSVGプログラムを作成しようとしました。私は私がjrxmlファイル内の文字列変数として設定SVGのXMLを取得し、画像要素でそれを使用します。

<image scaleImage="FillFrame"> 
    <reportElement positionType="Float" x="401" y="566" width="159" height="124" uuid="1baa80f7-3151-4fb8-be85-140059e9e28e"/> 
    <imageExpression> 
     <![CDATA[net.sf.jasperreports.renderers.BatikRenderer.getInstanceFromText($V{Chart})]]> 
    </imageExpression> 
</image> 

このアプローチのイメージで(後で私はHTMLエクスポート内のすべての画像リソースが.PNG形式です気づい)まだぼやけています。まだHTMLエクスポート

net.sf.jasperreports.renderers.BatikRenderer.getInstanceFromText("<svg xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.0\" width=\"100\" height=\"100\"><circle cx=\"50\" cy=\"50\" r=\"40\" stroke=\"green\" stroke-width=\"4\" fill=\"yellow\" /></svg>") 

でPNG画像を生成する以下のコードを使用して

は、HTMLファイル内にチャートのシャープな画像を得るために、ジャスパーレポートまたは他のソリューションの内部で生成されたSVGのXMLを使用する方法はありますか?私はまた、HTMLマークアップでTextFieldコンポーネント内で生成されたSVG XMLを使用することを検討していましたが、すべてのHTMLタグでは可能ではないと考えています。ちょうど基本的なものは<b><br>です。

答えて

3

JasperReports 6.2.2から始めると、net.sf.jasperreports.chart.render.type=svgが設定されている場合、およびBatikRendererイメージの場合、HTMLエクスポータはグラフ要素のSVGを出力します。

BatikRendererが実際に廃止されました、あなたは(あなたがStringとしてSVGを持っている場合は、$V{Chart}.getBytes("UTF-8")のようなものを渡す必要があります)の代わりにnet.sf.jasperreports.renderers.SimpleDataRenderer.getInstance(byte[])を使用することができます。

net.sf.jasperreports.image.dpiプロパティ(jasperreports.properties内)を300などに設定することで、ラスタライズされたSVGの品質を向上させることができます。ただし、実際のSVGと同じではないため、最新のJasperReports

+0

うわー、私は6.2.1バージョンを使用していた...ありがとう! Batikレンダラを使用しても、svg画像が生成されます。誰かがJaspersoft Studioを更新する必要がある場合は、ヘルプに行くだけで簡単です - >アップデートを確認する – Nikola

関連する問題