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