0

我正在使用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);
    }
4

2 回答 2

0

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

return (storeNumber + orderId);

如果您需要对刚刚给出的条形码进行解码outputFile,请查看ZXing项目。

于 2013-08-02T08:26:12.070 回答
0

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

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

public String getBarcodeText(String barText) {

    <other checking>
    return barText;
}
于 2017-07-19T08:37:34.887 回答