在jasper中忽略半透明(半透明)背景颜色报告pdf导出

时间:2015-04-05 14:06:07

标签: pdf jasper-reports pdf-generation alpha

问:为什么保存为PDF时alpha信息会丢失?

Jaspersoft工作室不允许我用alpha指定颜色。所以我试着在我的着色元素上巧妙地指定键并改变代码中的颜色,如下所示:

JasperReport jasperReport = (JasperReport) JRLoader.loadObject(getClass().getResourceAsStream("/reports/Test.jasper"));
((JRStaticText) jasperReport.getGroups()[0].getGroupHeaderSection().getBands()[0].getElementByKey("bg")).setBackcolor(new Color(0, 0, 0, 30));
((JRRectangle) jasperReport.getGroups()[0].getGroupFooterSection().getBands()[0].getElementByKey("bg")).setBackcolor(new Color(0, 0, 0, 30));

只是为了看看它是否有所作为我使用了JRStaticText和JRRectangle。预览和纸上的物理打印输出看起来很棒。当我打印到PDFCreator时它也有效。但是当我从JRViewer / JasperViewer保存为PDF时,生成的PDF显示为不透明的黑色。

预览/纸张打印/ PDFCreator:

enter image description here

Jasper报告PDF保存/导出:

enter image description here

1 个答案:

答案 0 :(得分:0)

显然,Jasper Reports不支持此功能。

Jasper Studio 6.1甚至允许在背景颜色对话框中指定文本字段透明度级别,只有在对话框确定后才会丢失值。

我们实施的解决方案是将文本与先前准备的半透明图像重叠。