我想写一个条码生成程序,格式是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();
            }