gpt4 book ai didi

java - 如何将 birt 图表渲染到流(png、svg)

转载 作者:行者123 更新时间:2023-12-02 07:35:24 25 4
gpt4 key购买 nike

我能够将图表呈现为不同的文件类型:

 dRenderer = ce.getRenderer("dv.SVG");//or dv.PNG
dRenderer.setProperty(IDeviceRenderer.FILE_IDENTIFIER, path);

但是如何以流的形式获取二进制数据呢?这些图表很可能会出现在某些人的浏览器中。所以磁盘上的文件相对来说没什么用。

(在再次读取之前将许多图表保存在磁盘上是愚蠢的,不是吗?)

简短回答:

可以将输出流而不是路径字符串指定为“FILE_IDENTIFIER”(适用于“dv.SVG”和“dv.PNG”)

最佳答案

如果您使用 SVG,请将文件标识符设置为输出流,并确保设置内容类型(response.setContentType( "image/svg+xml");

    try
{
RunTimeContext rtc = new RunTimeContext( );
rtc.setULocale( ULocale.getDefault( ) );

Generator gr = Generator.instance( );
GeneratedChartState gcs = null;
Bounds bo = BoundsImpl.create( 0, 0, 600, 400 );
gcs = gr.build( idr.getDisplayServer( ), chart, bo, null, rtc, null );

idr.setProperty( IDeviceRenderer.FILE_IDENTIFIER, out );
idr.setProperty(
IDeviceRenderer.UPDATE_NOTIFIER,
new EmptyUpdateNotifier( chart, gcs.getChartModel( ) ) );

gr.render( idr, gcs );
}

See this link

关于java - 如何将 birt 图表渲染到流(png、svg),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12314777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com