http://wuyu.someok.com/blog/dbreport/index.html
条码显示,在birt中最常见的有两种方法:
1、使用条码字体(对pdf无效);
2、用barcode的开源包,生成barcode,然后在报表里用动态地址去取图片。
今晚看birt文档(第 23 章 使用 Java 编写事件处理程序),例子中用java实现了一个LabelEventAdapter的适配器,对标签元素进行事件控制。脑子里灵光一现,似乎条码有着落了。
我的测试例子很简单,继承ImageEventAdapter类,重载onCreate方法,以进行条形码处理
package cn.ynzc.common.birt.test;
import java.io.File;
import java.io.FileOutputStream;
import jbarcodebean.Code128;
import jbarcodebean.JBarcodeBean;
import org.apache.commons.codec.digest.DigestUtils;
import org.eclipse.birt.report.engine.api.script.IReportContext;
import org.eclipse.birt.report.engine.api.script.eventadapter.ImageEventAdapter;
import org.eclipse.birt.report.engine.api.script.instance.IImageInstance;
public class MyLabelClass extends ImageEventAdapter {
public void onCreate(IImageInstance image, IReportContext reportContext) {
try {
//实际应用中,可以使用image.getRowData().getColumnValue("columnname")获得字段值
String code = "ABCDEF123-2222";
//似乎windows文件名中不允许使用“-”等符号,干脆将code进行md5散列处理
File file = new File(System.getProperty("java.io.tmpdir"), DigestUtils.md5Hex(code));
//避免每次都进行条码文件生成
if (!file.exists()) {
JBarcodeBean bb = new JBarcodeBean();
bb.setCodeType(new Code128());
bb.setShowText(true);
bb.setBarcodeHeight(45); //条码高度
bb.setCode(code);
bb.gifEncode(new FileOutputStream(file));
}
image.setFile(file.getAbsolutePath());
}
catch (Exception e) {
e.printStackTrace();
}
}
}
测试用的birt报表文件简单得要死,就往上面扔了个image元素,设置其Event Handler Class为刚才写好的java类,最终得到的rptdesign文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.6" id="1">
<property name="createdBy">Eclipse BIRT Designer Version 2.1.2.v20070205-1728 Build
<20070205-1728>property>
<property name="units">inproperty>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2"/>
</page-setup>
<body>
<image id="4">
<property name="eventHandlerClass">cn.ynzc.common.birt.test.MyLabelClassproperty>
</image>
</body>
</report>
运行测试,条形码出来了
分享到:
相关推荐
在BIRT(Business Intelligence and Reporting Tools)报告设计中,有时候我们需要显示从数据库中获取的HTML代码,而不是作为纯文本呈现。这是因为数据源中可能存在富文本信息,如格式化的文本、链接或图片等,这些...
在BIRT(Business Intelligence and Reporting Tools)中添加JavaScript日期控件是提高报表交互性和用户体验的重要步骤。本教程将详细介绍如何在BIRT报告中集成My97DatePicker,一个流行的JavaScript日期选择器,以...
4. **数据集和查询**:在BIRT中,数据集是预定义的SQL查询或数据源查询,可以用于报表的各个部分。用户可以创建自定义的SQL查询或者使用内置的查询构建器来提取所需的数据。 5. **图表功能**:BIRT拥有强大的图表...
3. 配置数据源:在BIRT Designer中,通过“数据”视图创建新的数据连接,选择对应的数据源类型(如MySQL、Oracle等),输入连接信息。 三、报表设计 1. 报表模板:BIRT提供了多种报表元素,如表格、图表、文本框等...
在BIRT中,报表设计是通过可视化的报表设计器实现的,它提供了丰富的图表类型、表格样式、文本格式等元素,允许用户无需编程就能创建复杂的报表布局。设计师可以导入各种数据源,如SQL数据库、XML文件、Web服务等,...
在BIRT(Business Intelligence and Reporting Tools)报表设计中,分组小计和自动增加序列号是常见的需求,尤其是在处理大量数据并需要呈现清晰结构时。本文将深入探讨这两种功能的实现方法。 首先,我们来讨论...
版本3.7的汉化包适用于至少4.2版的BIRT,显示了此汉化包的兼容性较好,即使在较新的BIRT版本上也能正常使用。 【标签】"birt 汉化"进一步强调了这个压缩包的主要功能,即解决BIRT工具的语言问题,使其更适合中国...
在BIRT中,主要涉及到以下几个核心概念和技术点: 1. **报表引擎**:BIRT的核心组件,负责处理报表的生成与展示。它能够连接多种数据源,包括关系型数据库、XML、Web服务等,将数据转化为可读的报表格式。 2. **...
任务 9:在 BIRT 报告查看器中预览报告 任务 10:在目录中显示贷记限额范围 聚集数据 如何在表达式构建器中构造聚集表达式 编写表达式 过滤数据 如何过滤行以便从 JDBC 数据源检索数据 如何在数据集级别进行...
在IT行业中,BIRT(Business Intelligence and Reporting Tools)是一款开源的报表系统,广泛应用于Web应用程序中,用于生成复杂的业务报告。而JSP(JavaServer Pages)是Java平台上的动态网页技术,常用于构建用户...
在本文中,我们将深入探讨如何实现BIRT报表的页面显示汉化,这涉及到对BIRT原有jar包中的英文资源文件进行替换,以显示中文界面。BIRT(Business Intelligence and Reporting Tools)是Eclipse基金会下的一个开源...
### 在BIRT中使用报表文档的关键知识点 #### 1. 概述 - **BIRT简介**:BIRT(Business Intelligence and Reporting Tools)是一个基于Eclipse的开源报表系统,广泛应用于Java和J2EE平台上的Web应用程序开发。它提供...
在BIRT生成的交叉报表中,当某个分组数据缺失时,默认会显示为空。为了改善用户体验,避免报表中的空白字段,可以使用脚本来自动替换这些空值。具体步骤如下: 1. 首先,在报表布局窗口中选中需要进行空值替换的...
在BIRT中,数据连接是至关重要的一步,它允许BIRT访问各种类型的数据源。手册将详细介绍如何配置JDBC连接,以及如何处理不同类型的数据库,如MySQL、Oracle和SQL Server等。同时,还会介绍如何使用非结构化数据源,...
- **启动新的报告设计**:在BIRT环境中创建新的报告设计项目。 - **指定数据源**:配置数据源,包括数据库连接信息。 - **报告布局**:设置报表的页面结构,包括表格、图表等元素。 - **格式化报告**:调整字体、...
birt中文帮助文档.chm birt中文API.chm
3. **报表引擎**:BIRT的报表引擎负责在运行时渲染和执行报表。它可以嵌入到任何Java应用程序中,如Web应用或桌面应用。 4. **动态内容**:BIRT允许报表中的元素根据数据或用户交互动态变化。例如,可以创建参数化...
在中文环境中,使用英文版的BIRT可能会给用户带来不便,因此IBM官方提供了BIRT的汉化包,以满足中国用户的需求。 **汉化包的作用**: 1. **用户界面本地化**:汉化包主要是将BIRT的用户界面元素,如菜单、按钮、...
BIRT是Eclipse IDE的一部分,因此开发者可以在熟悉的环境中创建、设计和部署复杂的报表。 在"eclipse报表插件BIRT中文教程及示例"中,你可以学习到以下关键知识点: 1. **BIRT安装与集成**:首先,你需要知道如何...
在本指南中,你将深入了解到BIRT的核心概念和功能,包括但不限于: 1. **BIRT架构**:BIRT由设计时环境(Design-Time Environment)和运行时环境(Run-Time Environment)两部分组成。设计时环境基于Eclipse IDE,...