使用 Java Zxing API 将条码内容写为条码下方的标签
Writing Barcode content as label below the Barcode using Java Zxing API
我正在使用 zxing api 创建条形码。但是在创建时我无法将条码内容写为条码下方的标签。
输出——
需要输出 --
生成这些条形码的代码是这样的-
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
public class BarcodeTesting {
private static void wrtieToStream(BitMatrix bitMatrix) {
try {
MatrixToImageWriter.writeToStream(bitMatrix, "png", new FileOutputStream(new File("hello" + ".png")));
System.out.println( " Barcode Generated.");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private BitMatrix generateBitMatrix(String content, BarcodeFormat format, int width, int height) {
MultiFormatWriter writer = new MultiFormatWriter();
BitMatrix bitMatrix = null;
try {
bitMatrix = writer.encode(content, format, width, height);
} catch (WriterException e) {
e.printStackTrace();
}
return bitMatrix;
}
public static void main(String[] args) {
BarcodeTesting obj = new BarcodeTesting();
BarcodeFormat barcodeFormat = BarcodeFormat.QR_CODE;
BitMatrix bitMatrix = obj.generateBitMatrix("MY QR Code 123", barcodeFormat, 24, 24);
// String formatString = format.toString();
wrtieToStream(bitMatrix);
}
}
由于 QRCode 规范没有提供将内容包含到图像中的选项,我认为 zxing 或任何其他条码生成器都没有提供此功能。您必须自己将文本添加到图像中。请注意,您必须在 QRCode 周围留出足够的白色 space。您上面的图片底部没有足够的白色space。
@tobltobs。我进行了很多搜索,但没有在 zxing api 中找到任何方法来实现我的预期。因此,根据您的建议,我创建了一个图像,在生成和读取 it.Then 后我在其中粘贴了我的条形码 it.Then 我将条形码内容写为该图像下方的字符串。
Barcode4j
可用于将文本与条形码一起嵌入。
This link 有有效的 java 代码。
我正在使用 zxing api 创建条形码。但是在创建时我无法将条码内容写为条码下方的标签。
输出——
需要输出 --
生成这些条形码的代码是这样的-
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
public class BarcodeTesting {
private static void wrtieToStream(BitMatrix bitMatrix) {
try {
MatrixToImageWriter.writeToStream(bitMatrix, "png", new FileOutputStream(new File("hello" + ".png")));
System.out.println( " Barcode Generated.");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private BitMatrix generateBitMatrix(String content, BarcodeFormat format, int width, int height) {
MultiFormatWriter writer = new MultiFormatWriter();
BitMatrix bitMatrix = null;
try {
bitMatrix = writer.encode(content, format, width, height);
} catch (WriterException e) {
e.printStackTrace();
}
return bitMatrix;
}
public static void main(String[] args) {
BarcodeTesting obj = new BarcodeTesting();
BarcodeFormat barcodeFormat = BarcodeFormat.QR_CODE;
BitMatrix bitMatrix = obj.generateBitMatrix("MY QR Code 123", barcodeFormat, 24, 24);
// String formatString = format.toString();
wrtieToStream(bitMatrix);
}
}
由于 QRCode 规范没有提供将内容包含到图像中的选项,我认为 zxing 或任何其他条码生成器都没有提供此功能。您必须自己将文本添加到图像中。请注意,您必须在 QRCode 周围留出足够的白色 space。您上面的图片底部没有足够的白色space。
@tobltobs。我进行了很多搜索,但没有在 zxing api 中找到任何方法来实现我的预期。因此,根据您的建议,我创建了一个图像,在生成和读取 it.Then 后我在其中粘贴了我的条形码 it.Then 我将条形码内容写为该图像下方的字符串。
Barcode4j
可用于将文本与条形码一起嵌入。
This link 有有效的 java 代码。