在jasper报告中显示真正巨大的图像

时间:2010-05-05 10:28:36

标签: java jasper-reports report

我的java应用程序正在为jasper报告生成图像(基本上是组织结构图)。随着组织结构图的出现,人们无法确定图像输出的最终大小。此外,图像输出可能会变得太大,裁剪图像是没用的。

甚至可以让jasper报告动态调整图像元素大小而不分割图像吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

<image scaleImage="ReatinShape" hAlign="Center"> 
    <reportElement x="100" y="150" width="600" height="150"/> 
    <graphicElement/> 
    <imageExpression class="net.sf.jasperreports.engine.JRRenderable">
     <![CDATA[new com.onbarcode.barcode.jasper.JasperRenderer(yourImage)]]></imageExpression> 
</image>

答案 1 :(得分:0)

我自己没有对此进行测试,但它应该可行。从设计中获取图像元素,更改其大小,然后编译更改后的设计。

BufferedImage img = ImageIO.read(new File(wo_image_path));
height = img.getHeight();
width = img.getWidth();         
jasperSubDesign = JasperManager.loadXmlDesign(context.getRealPath("/WEB-INF/reports/decoration_sheet_header.jrxml"));

JRDesignImage image = (JRDesignImage)jasperSubDesign.getPageHeader().getElementByKey("wo_image");

image.setX(3);
image.setY(69);
image.setHeight(new Long(height - Math.round(height*.35)).intValue());
image.setWidth(new Long(width - Math.round(width*.35)).intValue());

JasperCompileManager.compileReportToFile(jasperSubDesign, context.getRealPath("/WEB-INF/reports/decoration_sheet_header.jasper"));

来自Jasperforge