用于创建包含三个code128条形码的图像的Java代码

时间:2018-01-29 11:13:46

标签: java image barcode multiline

我想编写一个Java代码来生成三行条形码。下面的代码是在一行中创建条形码。如果您有任何解决方案,那将非常有用。

Barcode barcode = BarcodeFactory.createCode128(codeValue);
barcode.setDrawingText(false);
barcode.setBarHeight(200);
barcode.setBarWidth(5);

BufferedImage image = new BufferedImage(500, 500, 
BufferedImage.TYPE_BYTE_GRAY);

Graphics2D g = (Graphics2D) image.getGraphics();
barcode.draw(g, 6, 30);

在此之后为条形码创建图像。

File f = new File("Path\\Bar_Img.jpeg");
     FileOutputStream fileOutputStream = new FileOutputStream(f);
     // Let the barcode image handler do the hard work
     BarcodeImageHandler.writeJPEG(barcode, fileOutputStream);

所以这将创建单行条形码。但我想创建一个带有三行条形码的单个图像

enter image description here

1 个答案:

答案 0 :(得分:0)

我不确定codeValue的类型是什么,但也许可以尝试将包含不同值的数组放在那里,并将其放入for循环中,如下所示。

String codeValue[] = new String[3];

codeValue[0] = "Some text";
codeValue[1] = "Some text";
codeValue[2] = "Some text";

for (i = 0; i < codeValue.length; i++) {
Barcode barcode = BarcodeFactory.createCode128(codeValue[i]);
 barcode.setDrawingText(false);
 barcode.setBarHeight(200);
 barcode.setBarWidth(5);

BufferedImage image = new BufferedImage(500, 500, 
 BufferedImage.TYPE_BYTE_GRAY);

 Graphics2D g = (Graphics2D) image.getGraphics();
 barcode.draw(g, 6, 30);

}
System.out.println("Loop over");