现在在做一个二维码项目,用的是barcode4j开源码,可是barcode4j不支持中文,上网搜说需要下载barcode4j中文包,一直没下到。不知道有没有谁遇到这种情况,如何解决的?希望大家多多帮助,非常感谢!程序运行代码如下:
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;import org.krysalis.barcode4j.impl.PDF417.PDF417Bean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
import org.krysalis.barcode4j.tools.UnitConv;public class datamatrix { public static void main(String[] args) {
try {
//Create the barcode bean
PDF417Bean bean = new PDF417Bean();
final int dpi = 150;
//Configure the barcode generator
bean.setModuleWidth(UnitConv.in2mm(1.0f / dpi)); //makes the narrow bar
//width exactly one pixel
bean.setWideFactor(3);
bean.doQuietZone(false);
//Open output file
File outputFile = new File("out.jpg");
OutputStream out = new FileOutputStream(outputFile);
try {
//Set up the canvas provider for monochrome JPEG output
BitmapCanvasProvider canvas = new BitmapCanvasProvider(
out, "image/jpeg", dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);
//Generate the barcode
bean.generateBarcode(canvas, "陈沉浮鼓风机");
//Signal end of generation
canvas.finish();
} finally {
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行错误为:
java.lang.IllegalArgumentException: Invalid character: 陈
at org.krysalis.barcode4j.impl.code39.Code39LogicImpl.generateBarcodeLogic(Code39LogicImpl.java:333)
at org.krysalis.barcode4j.impl.code39.Code39Bean.generateBarcode(Code39Bean.java:195)
at com.cdz.barcode4j.datamatrix.main(datamatrix.java:57)
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;import org.krysalis.barcode4j.impl.PDF417.PDF417Bean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
import org.krysalis.barcode4j.tools.UnitConv;public class datamatrix { public static void main(String[] args) {
try {
//Create the barcode bean
PDF417Bean bean = new PDF417Bean();
final int dpi = 150;
//Configure the barcode generator
bean.setModuleWidth(UnitConv.in2mm(1.0f / dpi)); //makes the narrow bar
//width exactly one pixel
bean.setWideFactor(3);
bean.doQuietZone(false);
//Open output file
File outputFile = new File("out.jpg");
OutputStream out = new FileOutputStream(outputFile);
try {
//Set up the canvas provider for monochrome JPEG output
BitmapCanvasProvider canvas = new BitmapCanvasProvider(
out, "image/jpeg", dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);
//Generate the barcode
bean.generateBarcode(canvas, "陈沉浮鼓风机");
//Signal end of generation
canvas.finish();
} finally {
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行错误为:
java.lang.IllegalArgumentException: Invalid character: 陈
at org.krysalis.barcode4j.impl.code39.Code39LogicImpl.generateBarcodeLogic(Code39LogicImpl.java:333)
at org.krysalis.barcode4j.impl.code39.Code39Bean.generateBarcode(Code39Bean.java:195)
at com.cdz.barcode4j.datamatrix.main(datamatrix.java:57)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货