有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaJasper报告自定义条形码生成

使用的库/工具: 1) 贾斯珀报道 2) iReport 3) 爪哇

我已经为我的报告生成了一些标准条形码,但这次,我尝试生成一个自定义条形码,我为其创建了一个字体文件自定义条形码。ttf。到目前为止,iReport支持2个条形码库——Barcode4j和Barbike,它们不支持我需要的自定义条形码。有什么想法可以开始使用,而不需要使用一些新的库(我已经在使用Barcode4j了)

顺便说一句,我知道这个网站上已经存在类似的问题(custom barcode font


共 (2) 个答案

  1. # 1 楼答案

    刚刚尝试了@mdahlman的答案,结果成功了。我使用barcode39 font(free)和Jaspersoft烧烤生成了值"CODE123"Sample Barcode

    使用字体设置大小不是很容易,但结果是一样的。我在Android手机上使用条形码扫描仪验证了条形码(可以看到它在视觉上也很相似)。这对我有效的原因,可能与@bchetty的测试不起作用的原因相同,是因为Barcode39没有校验位。这是一个1对1的转换,除了在数据后面附加了一个前导和尾随的星号(*)。如果您想使用ttf生成带有校验位的条形码类型,则需要一个函数(如您所述的外部jar)对其进行编码。条形码39不需要函数,因为它只是"*" + V${data} + "*"

  2. # 2 楼答案

    鉴于您有自定义条形码。ttf,它真的可以被视为文本。因此,您的步骤如下所示:

    1. 在iReport中为自定义条形码创建字体扩展名。ttf
    2. 使用相关表达式在报表中创建文本字段
    3. 将文本字段的字体设置为“自定义条形码”(或您所称的字体扩展名)。播放字体大小以获得所需的输出

    为条形码使用自定义字体可能会被认为是一种黑客行为。但它在灵活性上的不足在于它的简单性