【发布时间】:2015-10-01 13:54:04
【问题描述】:
对于我们的标准 PDF 和条形码生成,我们有 Java4Less 库 (java4less-1.0rel.jar),以便我们的客户可以打印出售给他们/由他们出售的门票。我们使用这个库来创建 CODE128(C)、Aztec、QR 条码等。
现在我们正在研究 PDF417 条码;虽然这个库支持这一代,但有些事情并不顺利。看一下来自一个小型 Netbeans 项目的以下代码:
BarCode bc= new BarCode();
bc.setSize(400 , 200);
bc.barType = BarCode.PDF417;
bc.resolution=1;
bc.leftMarginCM= 50;
bc.topMarginCM= 50;
bc.checkCharacter =true;
bc.code = "THISISJUSTATESTTEXT";
bc.barColor = Color.black;
bc.backColor= Color.red;
bc.fontColor = Color.blue;
bc.textFont = new Font("Arial",Font.BOLD,14);
bc.X = 1;
bc.N = 3;
bc.paint(region);
ImageIO.write(img, "PNG", new File("barcode.png"));
这段代码会生成一个带有请求的条形码类型的 .png 图像。生成除 PDF417 之外的所有条码。
这是一个显示 CODE128 和 PDF417 生成的图像:
如您所见,CODE128 会生成其条形码,但 PDF417 不会。代码中唯一改变的地方如下:
bc.barType = BarCode.CODE128; --> bc.barType = BarCode.PDF417;
我查阅了文档、示例;我什至从Java4Less官网下载了demo,在war/Java项目中,正常生成PDF417。
那么这里出了什么问题?这是任何人都知道的库中的错误,还是我错过了一步?
【问题讨论】: