package michael.zxing;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
/**
* @blog http://sjsky.iteye.com
* @author Michael
*/
public class ZxingEAN13EncoderHandler {
/**
* 编码
* @param contents
* @param width
* @param height
* @param imgPath
*/
public void encode(String contents, int width, int height, String imgPath) {
int codeWidth = 3 + // start guard
(7 * 6) + // left bars
5 + // middle guard
(7 * 6) + // right bars
3; // end guard
codeWidth = Math.max(codeWidth, width);
try {
BitMatrix bitMatrix = new MultiFormatWriter().encode(contents,
BarcodeFormat.EAN_13, codeWidth, height, null);
MatrixToImageWriter
.writeToFile(bitMatrix, "png", new File(imgPath));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param imgPath
* @return String
*/
public String decode(String imgPath) {
BufferedImage image = null;
Result result = null;
try {
image = ImageIO.read(new File(imgPath));
if (image == null) {
System.out.println("the decode image may be not exit.");
}
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
result = new MultiFormatReader().decode(bitmap, null);
return result.getText();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* @param args
*/
public static void main(String[] args) {
String imgPath = "zxing_EAN13.png";
// 益达无糖口香糖的条形码
String contents = "6923450657713";
int width = 105, height = 50;
ZxingEAN13EncoderHandler handler = new ZxingEAN13EncoderHandler();
handler.encode(contents, width, height, imgPath);
String decode = handler.decode(imgPath);
System.out.println(decode);
System.out.println("Michael ,you have finished zxing EAN13 encode.");
}
}
相关推荐
【Java生成条形码】基于zxing生成条形码
最近公司有一个项目需求,需要导出Excel图片,导出的图片需要生成条形码,这里写了一个基于谷歌zxing的条形码生成工具类。
Zxing生成条形码例子
这是用Zxing生成条形码的例子,里面使用的是Zxing-2.0的库
使用ZXing.dll库生成二维码(C#实现)
最近工作中有需要一个需求,就是把一个服务地址生成二维码,可以用来扫码分享,网上找了下方法也比较多,我这里po一下调用ZXing.dll库生成二维码的方法吧。先简单介绍一下 ZXing库,ZXing库是一个开源Java类库,可用于生成和解析多种格式的1D/2D条形码;zxing遵循Apache License 2.0,只是工具而已,是不收费哒。 ZXing库的下载地址:http://zxingne...
用zxing生成条形码
ZXing还是十分强大的,给我们写代码省去了不少事情。先来看看他支持的编码: 1D product 1D industrial 2D UPC-A Code 39 QR Code UPC-E Code 93 Data Matrix EAN-8 Code 128 Aztec (beta) EAN-13 Codabar ...
C利用Zxing.net生成及解码条形码与二维码
C#利用Zxing.net生成及解码条形码与二维码 去发现同类优质开源项目:https://gitcode.com/ 简介 本仓库提供了一套基于C#语言,使用Zxing.net库来生成和打印条形码及二维码的解决方案,并包含了解码功能。此方案适用于需要对条形码和二维码进行生成、打印以及扫描解码的应用场景。 功能特点 条形码生成:支持多种格式的条形码生成。 二维码生成:可以创建不同内容、不同尺寸的二...
C利用Zxing.net生成及解码条形码与二维码:项目的核心功能/场景
C#利用Zxing.net生成及解码条形码与二维码:项目的核心功能/场景 去发现同类优质开源项目:https://gitcode.com/ 利用C#语言结合Zxing.net库,轻松实现条形码和二维码的生成、打印及解码。 项目介绍 在现代信息技术和物流管理中,条形码和二维码的使用已经变得不可或缺。它们不仅能够提高信息处理的效率,还能确保数据的准确性。C#利用Zxing.net生成及解码条形码与二维...
java 生成条形码
java 生成二维码有很多开发的jar包如zxing,qrcode.q前者是谷歌开发的后者则是小日本开发的, 这里我们使用zxing的开发包来弄1、先下载zxing开发包,这里用到的只是core那个jar包 (core-3.1.0.jar) 下载地址:http://download.csdn.net/download/u014733374/8212455 2、使用zxing开发还需要一个类,代
C#生成条形码
C#利用Zxing.net生成条形码和二维码并实现打印的功能 开篇:zxing.net是.net平台下编解条形码和二维码的工具。 下载地址:http://pan.baidu.com/s/1i3BXPLN Step1:使用VS2010新建一个窗体程序项目: Step2:添加三个类:分别是BarCodeClass.cs、DocementBase
.NET 使用 ZXing.Net 生成二维码,并识别
前言前面已经分享给很多创建二维码,条形码。。。等一系列的方式 各有优缺点,暂时不做评价。今天推荐ZXing.Net。也是比较全面的一种方式,还支持解码•.NET 二维码生成库-QrCodeGenerator•商业库--Spire.Barcode•ThoughtWorks.QRCode•QRCoder•SkiaSharp-跨平台方案编码想要条形码,参考文章:.NET 使用 ZXing.N...
java绘图--zxing生成条形码和二维吗
java zxing 生成条形码和二维吗 依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.3</version> </dependency> <dependency> <groupId>com.google.
android 实现条形码生成技术-Barcode4j、zxing
android 实现条形码生成技术-Barcode4j、zxing 解决方案 Java生成条形码的方案 -- barcode4j、zxing barcode4j barcode4j开源Java条形码生成库。支持多种编码格式,比如:code-39,code-128等 http://barcode4j.sourceforge.net/ zxin
ZXing之生成条形码
一 前言在前面学习了二维码的解码及生产,两篇文章总结如下:《ZXing之二维码解析图片资源》《ZXing之生成二维码》接下来就让我们来看看条形码的生成方式。在正式开始之前先来了来了解一个东西,因为在绘制条形码的内容的时候会用到,那就是drawText绘制,小的时候我们都适用过四线格写过英语单词,其实android 系统在进行文本绘制的时候就是这种格式,其格式如下:Android 系统在绘制文本的时...
ZXing生成二维码与条形码
【代码】ZXing生成二维码与条形码。
zxing绘制条形码总结
基本使用 首先工程中导入zxing的依赖,如下: <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.3</version> </dependency> <!-- https://mvnrepository.com/artifact/com.google.
zxing详细使用说明 java生成二维码、条形码
zxing详细使用说明 java生成二维码、条形码
C#利用ZXing.Net生成条形码,二维码和带Logo的二维码
本文是利用ZXing.Net在WinForm中生成条形码,二维码的小例子,仅供学习分享使用,如有不足之处,还请指正。 什么是ZXing.Net? ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。而ZXing.Net是ZXing的端口之一。 在工程中引用ZXing.Net 在项目中,点击项目名称右键-->管理NuGet程序包...
java 使用zxing生成条形码(可自定义文字位置、边框样式)
最新工作中遇到生成条形码的需求,经过一番摸索之后找到了zxing这个工具类,实现效果如下: 首先引入依赖: <!-- 条形码生成器 --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.0.0
1313




被折叠的 条评论
为什么被折叠?



