barcode4j如何设置不同密度的条码
yakai 2010-08-04 11:01:44 我想写一个条码生成程序,格式是CODE-128的,但是不知道什么地方设置密度,因为我想打印的条码长度有限,如果密度不够,显示一个14位的字符串条码,就会显示不下。参考程序Bartender可以显示1.465个字符/毫米,我输出的条码长度总是比它的长很多。我的代码如下
import org.krysalis.barcode4j.impl.code128.Code128Bean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
import org.krysalis.barcode4j.tools.UnitConv;
//Create the barcode bean
Code128Bean bean = new Code128Bean();
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, data);
//Signal end of generation
canvas.finish();
} finally {
out.close();
}