反馈已提交

网络繁忙

自定义函数生成UPC条形码

  • 文档创建者:lu123
  • 历史版本:14
  • 最近更新:Carly 于 2022-12-08
  • 1. 概述

    1.1 问题描述

    FineReport 中自带有 EAN 型编码,但却没有 UPC 条形码,此时若您希望在报表中使用 UPC 编码的条形码应该怎么办呢?FineReport 可以通过自定义函数引用第三方包来生成 UPC 编码的条形码并显示出来,如输入数值 12345678912,将会得到以下 UPC 条形码:

    222

    1.2 实现原理

    条形码自问世以来,为适应多种需要,产生了众多的编码系统。但目前得到国际公认用于商品包装的主要有两种,即 UPC 和 EAN。这两种编码系统属同一类型,每个字符均由数条黑白相间的条纹组成,中间有两条窄条纹向下伸出少许,将条形码分成左右两部分。这两种条形码虽然只能表示 0 到 9,十个数字,但具有高度的查核能力,扫描操作简单可靠,而且 UPC 的构成:由 11 位数字的通用产品代码和 1 位校验码组成。产品代码的第 1 位数字为编码系统字符;中间 5 位数字表示制造商号,后 5 位数字为产品代码。

    2. 操作步骤

    2.1 编写自定义函数

    1)导入第三方包

    在 Eclipse中 导入第三方包 barcode4j-light.jar,如何导入可参考 编译Java程序 第2.2.2 节。

    点击可下载:barcode4j-light.jar

    barcode4j 是一款开源的条形码生成库,能够生成很多种编码的条形码,包括 Upc 码。自定义函数中可以直接调用该包中现成的方法来生成 Upc 条形码。

    2)自定义函数类

    新建一个类 Upc,完整代码详见:

    https://code.fanruan.com/demo/example/src/branch/release/10.0/src/main/java/com/fr/function/Upc.java

    2.2 编译自定义函数

    编译 Upc.java 生成 Upc.class 文件,拷贝至报表环境目录%FR_HOME%/webapps/webroot/WEB-INF/classes/com/fr/function下;

    将第三方包 barcode4j-light.jar 放在报表环境目录%FR_HOME%/webapps/webroot/WEB-INF/lib文件夹下。

    2.3 注册自定义函数

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

    222

    2.4 Upc() 函数的使用

    重启服务器,在报表中使用公式=Upc(num1, num2),num1 为需要生成条形码的数值,num2 为生成的图片的高度。

    如在单元格中输入公式:=Upc(12345678912,100),预览便可以看到条形码了。

    222


    附件列表


    主题: 二次开发
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持