最近需要完成一个二维码生成功能,使用了barcode4j进行开发。
ps:附件即为barcode4j的src包和bin包
生成代码如下:
public class CodeService {
private static CodeService instance;
private static DefaultConfiguration cfg;
/**
* 二维码参数
*/
private static final String FORMAT = MimeTypes.MIME_JPEG;
private static final int ORIENTATION = 0;
private static final int RESOLUTION = 300;
private static final String BARCODE_TYPE = "datamatrix";
private CodeService() {
}
public static CodeService getInstance() {
if (instance == null) {
instance = new CodeService();
cfg = new DefaultConfiguration("barcode");
DefaultConfiguration child = new DefaultConfiguration(BARCODE_TYPE );
cfg.addChild(child);
DefaultConfiguration attr;
attr = new DefaultConfiguration("height");
attr.setValue(50);
child.addChild(attr);
attr = new DefaultConfiguration("module-width");
attr.setValue("0.6");
child.addChild(attr);
}
return instance;
}
public InputStream getCodeImage(String code, String type) {
InputStream ret = null;
ByteArrayOutputStream baos = null;
BitmapCanvasProvider bitmap = null;
try {
Configuration cfg = buildCfg(type);
BarcodeUtil util = BarcodeUtil.getInstance();
BarcodeGenerator gen = util.createBarcodeGenerator(cfg);
baos = new ByteArrayOutputStream(4096);
bitmap = new BitmapCanvasProvider(baos, FORMAT, RESOLUTION, BufferedImage.TYPE_BYTE_GRAY, true, ORIENTATION);
gen.generateBarcode(bitmap, code);
bitmap.finish();
ret = FileUtil.getInputStreamFromBytes(baos.toByteArray());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (baos != null) {
baos.close();
}
bitmap = null;
} catch (Exception e) {
}
}
return ret;
}
private Configuration buildCfg(String type) {
return cfg;
}
这个方法使用了datamatrix的二维码生成算法,qr算法二维码似乎这个组件并不支持生成。
ps:调整二维码生成图片大小,需要设置的参数为module-width,设置height不起作用。
分享到:
相关推荐
barcode4j是一款开源的Java工具包,它可以使用多种编程语言生成各种类型的条形码,包括二维码、QR码等。barcode4j提供了丰富的接口和API,使用者可以通过Java或其他语言编写代码来生成条形码。 在barcode4j中,生成...
使用barcode4j生成条形码通常涉及以下步骤: 1. 创建一个XML配置文件来定义条形码的属性,如类型、数据、宽度等。 2. 使用`BarcodeGenerator`类实例化一个条形码生成器。 3. 调用`generate Barcode`方法生成条形码...
barcode4j是一个开源的Java库,专注于生成和解码各种类型的条形码和二维码,其2.1版本(barcode4j-2.1.jar)为开发者提供了强大且灵活的工具,适用于多种应用场景。本文将详细介绍barcode4j的核心功能、使用方法以及...
总结,`barcode4j`提供了一种强大且灵活的方式来生成条形码和二维码,并且支持在其中添加文字,如日期和序号,这对于需要在二维码中包含附加信息的应用场景非常有用。通过理解其基本概念和使用方法,开发者可以轻松...
使用barcode4j生成一维码或二维码的基本步骤如下: 1. 引入barcode4j.jar:将此jar文件添加到项目的类路径中,确保项目可以访问到barcode4j的相关类和方法。 2. 创建生成器实例:通过`org.krysalis.barcode4j.impl...
**条形码生成库 Barcode4j** Barcode4j 是一个开源项目,专为生成各种类型的条形码而设计。...总的来说,Barcode4j 提供了一个强大且灵活的工具,帮助开发者轻松地在Java应用程序中生成高质量的条形码。
在Android应用开发中,生成二维码主要使用了开源库,如ZXing(Zebra Crossing)或AndroidX的` Barcode`组件。 ZXing是一个流行的开源项目,提供了多种条形码和二维码的读写功能。要使用ZXing在Android中生成二维码...
**barcode4j** 是一个开源项目,用于生成各种条形码和二维码的Java库。它由James Cowell 创建,并在Apache 2.0 许可证下发布,为开发人员提供了一种简单、灵活的方式来集成条码生成功能到他们的应用程序中。在"最新...
亲测好用,目前二维码的应用场景已经遍布各类互联网平台,通常是将产品/商品的唯一编号存储于二维码中以做扫码识别。 而用于生产环境的条形码技术仍然存在,如硬件设备制造、供应、物流运输等等。 在常见的产品信息...
### 三、barcode4j生成二维条码 1. **XML配置**:`barcode4j`的核心是通过XML来定义条码的属性和内容。例如,要生成一个包含中文的QR Code,可以在XML中设置字符编码为UTF-8,并指定数据内容。 ```xml <barcode>...
以下是关于使用Java生成条形码的三个主要方法的详细解释:barcode4j、jbarcode和google-zxing。 1. **barcode4j**: Barcode4J是一个开源的Java库,基于Apache 2.0许可,专门用于生成各种类型的条形码。它使用XML...
`barcode4j` 是一个开源的Java库,用于生成各种类型的条形码和二维码。它提供了丰富的API和高度的可定制性,使得开发者能够在各种应用程序中轻松地集成条形码生成功能。在本文中,我们将深入探讨`barcode4j`的核心...
以下是一个简单的使用barcode4j生成EAN-13条形码的代码示例: ```java FileOutputStream os = new FileOutputStream("barcode.png"); FontMapper mapper = FontMapper.getDefault(); BridgeContext ctx = new ...
在Android平台上,生成二维码和二维码图片识别是常见的需求,尤其在移动支付、信息分享和广告推广等领域广泛应用。本文将深入探讨如何使用Android SDK以及第三方库来实现这些功能,以"Android-生成二维码和二维码...
生成条形码的工具如barcode4j、PHP Barcode等,同样支持定制条形码的宽高比例、字体大小等属性。 在实际应用中,我们可能会遇到需要调整二维码和条形码尺寸的情况。例如,为了适应不同的打印媒介或屏幕展示,可能...
生成二维码时,需要将数据按照特定的矩阵结构编码,并填充纠错信息。在编程中,常用的库有Python的`qrcode`库,它允许我们轻松地创建和定制二维码的样式。 调用打印机打印一维码和二维码通常涉及以下步骤: 1. **...
以下是如何生成二维码的简单示例: ```java String content = "http://example.com"; Map, ErrorCorrectionLevel> hints = new HashMap(); hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L); ...
在Java中,常用的条形码生成库有`ZXing (Zebra Crossing)`和`Barcode4J`。`ZXing`是一个开源项目,支持多种类型的条形码生成,包括Code 128、EAN、UPC等,并且可以进行读取和解码。`Barcode4J`则是一个基于XML的生成...
总结来说,Java环境中的PDF417码和其他一维码、二维码生成主要依赖于第三方库,如ZXing、BarCode4J或JaBaCode。这些库提供了丰富的功能,使得开发者能够方便地将文本数据转换为各种条码格式,以满足不同场景的需求。...