`
liuwei1981
  • 浏览: 770127 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:160699
社区版块
存档分类
最新评论

应用barcode4j生成二维码

阅读更多

最近需要完成一个二维码生成功能,使用了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不起作用。

分享到:
评论
12 楼 killvawow 2009-12-30  
楼主FileUtil的内容能发一下么? 不太明白你写的什么
11 楼 liuwei1981 2009-08-18  
cooldh 写道
liuwei1981 写道
cooldh 写道
38行 FileUtil哪来的?

那是我自己的一个文件帮助类,转换文件流的

哦,谢谢 。 我用ByteArrayInputStream代替了。但有时候感觉生成的是矩形的 不是正方形


是方形的。  你习惯看到的可能是QR码,是日本的标准,barcode主要是欧美的标准,不包括QR码的生成
10 楼 cooldh 2009-08-17  
liuwei1981 写道
cooldh 写道
38行 FileUtil哪来的?

那是我自己的一个文件帮助类,转换文件流的

哦,谢谢 。 我用ByteArrayInputStream代替了。但有时候感觉生成的是矩形的 不是正方形
9 楼 myworkfirst 2009-08-17  
  先生成流数据放到数据库里,然后读出来,用print命令送到打印机
8 楼 liuwei1981 2009-08-17  
cooldh 写道
38行 FileUtil哪来的?

那是我自己的一个文件帮助类,转换文件流的
7 楼 cooldh 2009-08-17  
38行 FileUtil哪来的?
6 楼 wzm4657 2009-07-25  
我先试一下..得自己写个方法.下一步用什么读出呢.
5 楼 micropang 2009-06-15  
micropang 写道
网上很多二维码的例子都是生成在网页上;
我想问问,楼主如何生存一张二维码在服务器的上,作为资源利用!~~


哈哈~~
不好意思~~
其实barcode4j的例子就自带有~~
examples\embedding\java\SampleBitmapBarcodeWithBean.java

这个就是!~~
4 楼 micropang 2009-06-15  
网上很多二维码的例子都是生成在网页上;
我想问问,楼主如何生存一张二维码在服务器的上,作为资源利用!~~
3 楼 liuwei1981 2009-06-02  
nj_first 写道
楼主啊,知道怎么可以识别条形码啊?我指的是提取里面的数字

我没有处理识别,我的业务是用扫描器进行二维码的识别。
2 楼 nj_first 2009-06-02  
楼主啊,知道怎么可以识别条形码啊?我指的是提取里面的数字
1 楼 kaki 2009-05-22  
感谢楼主,正在四处寻找这个呢。

请教楼主二维条码一般的容量有多大?我希望把一篇公文放进去可以吗?

相关推荐

    BarCode4J.jar

    barcode4j是一款开源的Java工具包,它可以使用多种编程语言生成各种类型的条形码,包括二维码、QR码等。barcode4j提供了丰富的接口和API,使用者可以通过Java或其他语言编写代码来生成条形码。 在barcode4j中,生成...

    barcode4j 2.0

    使用barcode4j生成条形码通常涉及以下步骤: 1. 创建一个XML配置文件来定义条形码的属性,如类型、数据、宽度等。 2. 使用`BarcodeGenerator`类实例化一个条形码生成器。 3. 调用`generate Barcode`方法生成条形码...

    barcode4j-2.1.jar

    barcode4j是一个开源的Java库,专注于生成和解码各种类型的条形码和二维码,其2.1版本(barcode4j-2.1.jar)为开发者提供了强大且灵活的工具,适用于多种应用场景。本文将详细介绍barcode4j的核心功能、使用方法以及...

    barcode4j添加文字

    总结,`barcode4j`提供了一种强大且灵活的方式来生成条形码和二维码,并且支持在其中添加文字,如日期和序号,这对于需要在二维码中包含附加信息的应用场景非常有用。通过理解其基本概念和使用方法,开发者可以轻松...

    一维码二维码生成识别工具barcode4j

    使用barcode4j生成一维码或二维码的基本步骤如下: 1. 引入barcode4j.jar:将此jar文件添加到项目的类路径中,确保项目可以访问到barcode4j的相关类和方法。 2. 创建生成器实例:通过`org.krysalis.barcode4j.impl...

    barcode4j官方发布依赖包

    **条形码生成库 Barcode4j** Barcode4j 是一个开源项目,专为生成各种类型的条形码而设计。...总的来说,Barcode4j 提供了一个强大且灵活的工具,帮助开发者轻松地在Java应用程序中生成高质量的条形码。

    android端生成二维码源码

    在Android应用开发中,生成二维码主要使用了开源库,如ZXing(Zebra Crossing)或AndroidX的` Barcode`组件。 ZXing是一个流行的开源项目,提供了多种条形码和二维码的读写功能。要使用ZXing在Android中生成二维码...

    最新barcode4j-2.1.0-bin.zip

    **barcode4j** 是一个开源项目,用于生成各种条形码和二维码的Java库。它由James Cowell 创建,并在Apache 2.0 许可证下发布,为开发人员提供了一种简单、灵活的方式来集成条码生成功能到他们的应用程序中。在"最新...

    barcode4j-light-2.0

    亲测好用,目前二维码的应用场景已经遍布各类互联网平台,通常是将产品/商品的唯一编号存储于二维码中以做扫码识别。 而用于生产环境的条形码技术仍然存在,如硬件设备制造、供应、物流运输等等。 在常见的产品信息...

    barcode4j 条码包

    ### 三、barcode4j生成二维条码 1. **XML配置**:`barcode4j`的核心是通过XML来定义条码的属性和内容。例如,要生成一个包含中文的QR Code,可以在XML中设置字符编码为UTF-8,并指定数据内容。 ```xml <barcode>...

    Java三种生成条形码的源码(barcode4j、jbarcode、google-zxing)

    以下是关于使用Java生成条形码的三个主要方法的详细解释:barcode4j、jbarcode和google-zxing。 1. **barcode4j**: Barcode4J是一个开源的Java库,基于Apache 2.0许可,专门用于生成各种类型的条形码。它使用XML...

    barcode4j 源碼

    `barcode4j` 是一个开源的Java库,用于生成各种类型的条形码和二维码。它提供了丰富的API和高度的可定制性,使得开发者能够在各种应用程序中轻松地集成条形码生成功能。在本文中,我们将深入探讨`barcode4j`的核心...

    Java三种生成条形码(barcode4j、jbarcode、google-zxing)

    以下是一个简单的使用barcode4j生成EAN-13条形码的代码示例: ```java FileOutputStream os = new FileOutputStream("barcode.png"); FontMapper mapper = FontMapper.getDefault(); BridgeContext ctx = new ...

    Android-生成二维码和二维码图片识别工具

    在Android平台上,生成二维码和二维码图片识别是常见的需求,尤其在移动支付、信息分享和广告推广等领域广泛应用。本文将深入探讨如何使用Android SDK以及第三方库来实现这些功能,以"Android-生成二维码和二维码...

    生成二维码条形码

    生成条形码的工具如barcode4j、PHP Barcode等,同样支持定制条形码的宽高比例、字体大小等属性。 在实际应用中,我们可能会遇到需要调整二维码和条形码尺寸的情况。例如,为了适应不同的打印媒介或屏幕展示,可能...

    生成一维码二维码并调用打印机打印

    生成二维码时,需要将数据按照特定的矩阵结构编码,并填充纠错信息。在编程中,常用的库有Python的`qrcode`库,它允许我们轻松地创建和定制二维码的样式。 调用打印机打印一维码和二维码通常涉及以下步骤: 1. **...

    Android扫描生成二维码

    以下是如何生成二维码的简单示例: ```java String content = "http://example.com"; Map, ErrorCorrectionLevel> hints = new HashMap(); hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L); ...

    java条形码,二维码生成

    在Java中,常用的条形码生成库有`ZXing (Zebra Crossing)`和`Barcode4J`。`ZXing`是一个开源项目,支持多种类型的条形码生成,包括Code 128、EAN、UPC等,并且可以进行读取和解码。`Barcode4J`则是一个基于XML的生成...

    PDF417码和其他一维码和二维码生成(java实现)

    总结来说,Java环境中的PDF417码和其他一维码、二维码生成主要依赖于第三方库,如ZXing、BarCode4J或JaBaCode。这些库提供了丰富的功能,使得开发者能够方便地将文本数据转换为各种条码格式,以满足不同场景的需求。...

Global site tag (gtag.js) - Google Analytics