@Override
public String generateBrcodeForId(String Id) {
BarcodeUtil util = BarcodeUtil.getInstance();
BarcodeGenerator gen;
ByteArrayOutputStream byteArrayOutputStream = null;
try {
gen = util.createBarcodeGenerator(buildCfg("code128"));
OutputStream fout;
fout = new FileOutputStream("code128.jpg");
byteArrayOutputStream = new ByteArrayOutputStream();
int resolution = 200;
BitmapCanvasProvider canvas = new BitmapCanvasProvider(
fout, "image/jpeg", resolution, BufferedImage.TYPE_BYTE_BINARY, false, 0);
gen.generateBarcode(canvas, "12345678");
canvas.finish();
} catch (ConfigurationException | BarcodeException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
private static Configuration buildCfg(String type) {
DefaultConfiguration cfg = new DefaultConfiguration("barcode");
//Bar code type
DefaultConfiguration child = new DefaultConfiguration(type);
cfg.addChild(child);
//Human readable text position
DefaultConfiguration attr = new DefaultConfiguration("human-readable");
DefaultConfiguration subAttr = new DefaultConfiguration("placement");
subAttr.setValue("bottom");
attr.addChild(subAttr);
child.addChild(attr);
return cfg;
}
已经使用 Barcode4j 创建了一个条形码,这里它创建了一个图像 code128.jpg。我可以创建一个字节数组而不是在文件系统中创建一个图像并将其发送到 Web 服务客户端。