【问题标题】:JasperReports: Creating a Watermark with the Background BandJasperReports:使用背景带创建水印
【发布时间】:2011-12-03 19:46:11
【问题描述】:

我正在尝试了解如何使用纯 Java 为我的 JasperReport 设置水印(我自己以编程方式构建 JasperDesign)。

假设我有一个水印图像文件,如下所示:

String imageFileUri = "/some/url/MyWatermark.jpg";

现在我想向我的JasperDesign 添加一个背景带,它将MyWatermark.jpg 图像覆盖在我报告的每一页上。我有几行“开始代码”,但在那之后我画了一个空白。我搜索了高低的代码示例,但找不到任何代码示例。

JRDesignBand backgroundBand = new JRDesignBand();
backgroundBand.setHeight(842);
backgroundBand.setWidth(595);

// ...???

在此先感谢您的澄清。

【问题讨论】:

    标签: java jasper-reports


    【解决方案1】:

    为了解决这个问题,我们可以使用位于Background Band 中的JRDesignImage 元素。

    样本:

    JasperDesign jasperDesign = new JasperDesign();
    
    //Some code to filling bands .....
    
    JRDesignBand band = new JRDesignBand();
    band.setHeight(200);
    
    //The expression must contain the double quotes!!! 
    //This is a analogue of <imageExpression><![CDATA["watermark.png"]]></imageExpression>
    String imgPath = "\"watermark.png\"";
    
    JRDesignExpression expression = new JRDesignExpression();
    expression.setText(imgPath);
    
    JRDesignImage image = new JRDesignImage(jasperDesign);
    image.setX(45);
    image.setY(55);
    image.setWidth(165);
    image.setHeight(40);
    //We can use another scaling mode
    image.setScaleImage(ScaleImageEnum.FILL_FRAME);
    image.setExpression(expression);
    
    //Adds image to the band
    band.addElement(image);
    
    //Adds band as background 
    jasperDesign.setBackground(band);
    

    【讨论】:

    • 太棒了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    相关资源
    最近更新 更多