我想编写一个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);
所以这将创建单行条形码。但我想创建一个带有三行条形码的单个图像
答案 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");