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