5

BIRT(3.7)をRCPアプリケーションと統合しようとしています。

画像(PNG、SVGなど)に変換されたレポートチャートを生成する場合。生成中にHTMLレポートを作成してチャート(画像)を埋め込みたい

HTMLレポートに埋め込み画像チャートを作成するにはどうすればよいですか?

setBaseImageUrl( "url")の決定は私には合いません。

4

3 に答える 3

7

私は解決策を見つけました:)

...
IReportRunnable design = engine.openReportDesign(designInputStream);
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
IRenderOption options = null;
switch (format) {
            case ReportFormats.HTML_REPORT:
                options = new HTMLRenderOption();
                options.setOutputFormat(HTMLRenderOption.HTML);
                options.setOutputStream(outputStream);
                options.setSupportedImageFormats("PNG");
                ((HTMLRenderOption) options).setEmbeddable(true);
                options.setImageHandler(new HTMLServerImageHandler() {
                    @Override
                    protected String handleImage(IImage image, Object context,
                            String prefix, boolean needMap) {
                        String embeddedImage = null;

                        //embeddedImage = convert image.getImageStream() to Base64 String

                        return "data:image/png;base64," + embeddedImage;
                    }
                });
                break;
                ...

if (options != null) {
    task.setRenderOption(options);                              
    task.run();
    task.close();
    engine.destroy();
}
...
于 2012-07-25T16:00:30.350 に答える
1

Birtデザインに画像を挿入する手順

パレットから画像アイテムをドラッグし、上記の手順に従います。デザインに画像を簡単に追加できます。あなたの便宜に応じて、あなたはあなたのデザインをhtml、doc、pdfなどとして移入することができます

于 2012-07-20T09:19:46.510 に答える
0

画像内のデータをbase64でエンコードし、HTMLに直接またはjavascript変数として埋め込むことができます

http://www.greywyvern.com/code/php/binary2base64/

これは便利ですが、ページが大きくなります。

于 2012-07-20T09:04:18.203 に答える