IAm*_*aja 3 java jasper-reports
我试图弄清楚如何使用纯 Java(以编程方式构建JasperDesign自己)为我的 JasperReport 设置水印。
假设我的水印有一个图像文件,如下所示:
String imageFileUri = "/some/url/MyWatermark.jpg";
Run Code Online (Sandbox Code Playgroud)
现在我想添加一个背景带我的JasperDesign,将覆盖的MyWatermark.jpg图像在我的报告的每一页。我有几行“开始代码”,但在那之后我画了一个空白。我已经搜索了很多代码示例,但找不到任何代码示例。
JRDesignBand backgroundBand = new JRDesignBand();
backgroundBand.setHeight(842);
backgroundBand.setWidth(595);
// ...???
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的澄清。
为了解决这个问题,我们可以使用JRDesignImage位于元素Background Band。
样品:
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);
Run Code Online (Sandbox Code Playgroud)