如何使用Barcode4J获取条形码编号?

时间:2013-08-01 06:45:15

标签: java web barcode barcode4j

我正在使用barcode4j生成一些条形码图像,效果很好。

但是UI团队想要我写一些服务来为String返回条形码编号,原因有些奇怪。我无法弄清楚如何做到这一点。

以下是有关如何生成条形码图像的代码段。

final File outputFile = new File(folderPath + "/" + TgtCoreConstants.TARGET_BARCODE_FILE_PREFIX
            + orderId + BARCODE_FILENAME_EXTENSION);
    OutputStream out = null;
    try {
        out = new FileOutputStream(outputFile);
        final BitmapCanvasProvider canvas = new BitmapCanvasProvider(
                out, BARCODE_MIME_TYPE, cncBarcodeDpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);
        bean.generateBarcode(canvas, (storeNumber + orderId));
        canvas.finish();
    }
    catch (final FileNotFoundException e) {
        LOG.error("Error while generating the barcode file for order: " + orderId, e);
        throw new GenerateBarCodeFailedException(e);
    }
    catch (final IOException e) {
        LOG.error("Error while generating the barcode file for order: " + orderId, e);
        throw new GenerateBarCodeFailedException(e);
    }

2 个答案:

答案 0 :(得分:0)

上面的代码片段告诉barcode4j进行编码,渲染为位图并在outputFile中写入字符串storeNumber + orderId,因此所请求的服务只需要

return (storeNumber + orderId);

如果您需要解码仅提供outputFile的条形码,请查看ZXing项目。

答案 1 :(得分:0)

由于您现有的方法有效,只需创建新方法&传递(storeNumber + orderId)作为方法参数。

*Existing method...*
String barText=storeNumber + orderId;
getBarcodeText(barText);

public String getBarcodeText(String barText) {

    <other checking>
    return barText;
}