Как использовать 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 ответа

Приведенный выше фрагмент говорит barcode4j кодировать, отображать как растровое изображение и записывать в outputFile строка storeNumber + orderIdпоэтому запрашиваемая услуга должна

return (storeNumber + orderId);

Если вам нужно декодировать штрих-код, указанный только outputFile, а затем посмотрите на проект ZXing.

Поскольку ваш существующий метод работает, просто создайте новый метод и передайте (storeNumber + orderId) в качестве параметра метода.

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

public String getBarcodeText(String barText) {

    <other checking>
    return barText;
}
Другие вопросы по тегам