Posts Tagged ‘背景图’

如何给报表加水印

08.04.2010 by zangmingkun - 0 Comment - 0
Posted in web报表应用

报表加上水印,实际上就是给报表增加一个背景图,然后将这个背景图随着报表展现、打印及导出。下面就介绍一下如何给报表加水印。

首先将需要增加水印的报表准备好,在属性,报表属性里找到背景图页签

1.png

在url路径里选取背景图的url路径,并在url或类名里写绝对路径即可。

然后在报表,报表属性,打印页签里勾选上打印背景图,

2.png

这样在设计展示的时候就会都有背景图了,浏览,打印,导出pdf的时候就都会有水印了。

为报表添加背景图需要注意以下问题:

这种添加背景图的方式中背景图大小最好以纸张大小为准,因为在展示,打印,导出的时候背景图不会拉伸和扩展,如果不以纸张大小为准的话,可能出现有的地方出现空白,没有背景图,或者背景图被截取的现象。

URL或类名:与”配置类型”选项相对应,URL可以是绝对路径名,也可以是相对路径名。如果是相对路径,在WEB 应用中发布,相对于应用根目录,在设计器中不可用相对路径。

主子表添加背景图:这样的添加方式可能引起子报表展现遮住背景,解决方法是将子报表的背景色设置为透明色即可。

背景图的路径需为绝对路径,在设计器设计时只能是固定的,如果需要动态改变背景图的路径的话,需要通过api来实现,在展现报表的jsp中加入相关的设置,例如:

//定义 reportDefine rd

//获取报表相关信息

……

BackGraphConfig backGraphConfig = new BackGraphConfig();
backGraphConfig.setURLOrClassName(backImageUrl);
backGraphConfig.setType(BackGraphConfig.TYPE_URL);
backGraphConfig.setDispMode(BackGraphConfig.DISP_PER_PAGE);
rd.setBackGraphConfig(backGraphConfig);

以上就是添加水印的相关方法,当您选中单元格后,右键选择数据图层,这样可以在单元格内添加前景图和背景图,使用的方法也跟上述方法类似,其中前景图可以作为电子签章,这个功能也有很广泛的用途。

动态修改报表背景图的绝对路径

10.06.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

在制作报表中,背景图的用途很广泛,可以用于套打时的底图描绘,也可以用于背景水印等等。润乾报表提供了两种方式为报表设置背景图,包括自定义类方式和URL方式。当用户在报表中使用的背景图是自己写的一个Java类画的图时,可使用自定义类方式;当用户在报表中使用的背景图是一个图片文件时,可使用URL方式。其中URL方式中的URL可以是绝对路径名,也可以是相对路径名。当URL是绝对路径名时,润乾报表还提供了使用api代码动态修改报表背景图的绝对路径的方法,下面将通过一个小例子简单介绍一下该方法。

首先,创建一个内建数据集,建立一个员工基本信息表,设置背景图片属性,如下

设置背景图_.png

报表设计效果如下

runqian.PNG

报表发布后的效果如下

runqian_1.png

然后,写一个java类Application,在该类中使用如下方法实现动态修改绝对路径,代码如下

public static void run() throws Exception {

String reportFile = “D:\\test\\test.raq”; // 报表文件
String lisenseFile = “E://110//workspace//helloworld//WebRoot//WEB-INF//classes//Server2009-07-31V4.0Windows.lic”;//授权文件

// 第一步,读取报表模板并设置授权文件
ReportDefine rd = (ReportDefine) ReportUtils.read( reportFile );
ExtCellSet.setLicenseFileName(lisenseFile);

// 第二步,修改背景图
BackGraphConfig bgc=rd.getBackGraphConfig();
String picUrl1=bgc.getURLOrClassName();
Byte type=bgc.getType();
System.out.println(”====背景图的当前路径为:”+picUrl1);
if(type==0) //报表背景图的配置类型分为url路径和自定义类,当返回值为0时表示配置类型为url路径
{
String picUrl2=”D:\\test\\1.JPG”;
bgc.setURLOrClassName(picUrl2);
rd.setBackGraphConfig(bgc);
}
String picUrl3=bgc.getURLOrClassName();
System.out.println(”背景图修改后路径为:”+picUrl3);
ReportUtils.write(reportFile, rd);//报表回存
Context context = new Context();
Engine enging = new Engine(rd, context);
IReport iReport = enging.calc();

// 第三步,通过JFrame 查看报表效果
CSReport csReport = new CSReport(iReport);
JFrame jf = new JFrame(”润乾报表”);
try {
jf.getContentPane().add(csReport.getDisplayPane());
} catch (Throwable e) {
e.printStackTrace();
}
jf.setSize(600, 400);
jf.setLocation(200, 100);

}

在Application类中写个主函数调用一下该方法,如下

public static void main(String[] args){
try {
Application.run();
} catch (Exception e) {
e.printStackTrace();
}
}

运行程序后就可以看到动态修改报表背景图的绝对路径后的效果。

查看发布后的报表,效果如下

2runqian_2.png

这样就实现了动态修改报表背景图的绝对路径,从而动态修改了报表的背景图片。

巧用背景图实现精确套打

06.30.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

在我们的实际项目开发中,很多情况会用到票据的打印。即在一张印刷好的空白票据上,准确无误地打印上票据中的需要填写的内容。用传统的报表工具,我们通常会用先度量出每一个数据区域的位置,然后在屏幕上根据度量出的尺寸设计每个格子的位置,再经过反复调试,以保证打印上的数据与票据各区域位置相吻合。这样制作一张票据打印的报表不但费时费力,而且一旦票据格式发生变化,报表制作人员又要重新制作报表。

润乾报表采用底图描绘的方案解决套打时的报表绘制问题。将需要套打的票据扫描成图片,插入到报表设计的界面上,然后依照底图进行报表描绘,可保证每一个单元格都和单据上的数据区域严格对齐。这样设计出来的报表,打印到空白票据上,不会产生错位。

一、准备:扫描空白票据

使用扫描仪,注意要设置像素单位,使得其和标准纸张大小一样,或者扫描之后用画图软件对图片进行压缩,缩成标准纸张大小,且分辨率设为72。得到空白票据图片如下图。

套打.JPG

其中发票名称、表格线、表格中的各个标题都是空白发票已经印刷好的,报表需要填写生成的是空白部分。

二、设计:

第一步:新建一张空白报表

第二步:插入背景图片

在工具菜单中选择【插入】->【背景图】,弹出报表属性窗口,在【URL或类名】中选择我们要做为背景图案的票据扫描件,点【确定】即可如图所示:

1.png

此时报表会以扫描票扫描件为背景图片,我们调整报表的行高和列宽,使报表中要要填入数据的单元格与扫描件空白区域对应,比如:C2单元格对应”发票单位”,D5单元格对应”日期”等。

2.png

第三步:属性设置

1, 在工具菜单中选择【属性】–【报表属性】,弹出报表属性窗口,选择”打印”标签,将【打印背景图】选中:

3.png

2, 选择”分页”标签,将【分页方式】设置为”不分页”,点【确定】完成设置。

4.png

第四步:保存预览

在票据空白处填入数据,预览效果如下:

5.png

第七步:打印

实际打印的时候将【打印背景图】勾掉,以实际票据为底纸,即可实现票据内容的精确打印。

引自:润乾报表知识库
原文链接:巧用背景图实现精确套打
相关文章:一种实现类似excel把负数显示成红色且去掉负号的方法 ; 导入带公式excel的问题web报表的扩展功能
润乾报表出了新版统计图解决行式填报导入excel发生错位的问题
其他相关内容: 润乾商业智能解决方案 ; 商业智能BI联盟 ; Java报表 ; 报表软件