水晶报表打印二维码怎么搞,求指导

 我来答
匿名用户
2017-02-20
展开全部

其实打印二维码就是打印个普通的图片,只不过这个图片可能来自于数据库,也可能来自于普通的文件,但是在打印之前,需要先生成一张二维码。水晶报表的话不是很清楚,用我现在用的finereport来说吧,也可以生成二维码,题主可以顺便参考下,应该差不多的。

1、导入第三方包

在eclipse中导入第三方包(barcode4j-light.jar),这是一款开源的条形码生成库,能够生成很多种编码的条形码,包括UPC码。自定义函数中可以直接调用该包中现成的方法来生成UPC条形码。

2、自定义函数类

新建一个类UPC,完整代码如下:

// 自定义函数生成UPC条形码 
package com.fr.function;

import java.awt.image.BufferedImage;
import org.krysalis.barcode4j.impl.upcean.UPCABean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
import org.krysalis.barcode4j.tools.UnitConv;
import com.fr.script.AbstractFunction;

public class Upc extends AbstractFunction {
public Object run(Object[] args) {
if (args == null || args.length < 1) {
return "参数不对,必须有一个参数";
}
try {
// 创建一个UPC编码生成器
UPCABean bean = new UPCABean();
// 设置条形码高度,BufferedImage.TYPE_BYTE_BINARY代表常量值12,可直接使用常量值
final int dpi = Integer.parseInt(args[1].toString());
bean.setModuleWidth(UnitConv.in2mm(1.0f / dpi));
bean.doQuietZone(false);
BitmapCanvasProvider canvas = new BitmapCanvasProvider(dpi,
BufferedImage.TYPE_BYTE_BINARY, false, 0);
// 创建条形码
bean.generateBarcode(canvas,args[0].toString());
canvas.finish();
// 返回图片显示   
return canvas.getBufferedImage();
} catch (Exception e) {
e.printStackTrace();
}
return args[0];
}
}

3、编译自定义函数

编译Upc.java生成Upc.class文件,拷贝至报表环境目录%FR_HOME%/WebReport/WEB-INF/classes/com/fr/function下;将第三方包barcode4j-light.jar放在报表环境目录%FR_HOME%/WebReport/WEB-INF/lib文件夹下。

4、注册自定义函数

启动设计器,点击服务器>函数管理器,新增函数取名为Upc,选择Upc.class类,如下图:

5、Upc()函数的使用

重启服务器,在报表中使用公式=Upc(num1, num2),num1为需要生成条形码的数值,num2为生成的图片的高度。如在单元格中输入公式:=Upc(12345678912,100),预览便可以看到条形码了。

然后就可以打印下来了。

信飞智创
2024-10-28 广告
二维码防伪标签的制作涉及多个步骤。首先,设计防伪元素,如独特的图案和文字,确保难以仿制。接着,选择可信赖的二维码生成工具,为每个标签生成标识码。随后,将防伪元素嵌入二维码图案中,并选择合适材料进行印刷。印刷完成后,对标签进行质检,确保符合设... 点击进入详情页
本回答由信飞智创提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式