Zxing 生成条形码(一维码)
2015-08-06 10:30
288 查看
1 第一步下载 zxing 2.2jar包
第二部
第二部
import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; 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; public class ZxingEAN13Handler { /** * 条形码编码 * * @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.writeToStream(bitMatrix, "png", new FileOutputStream(imgPath)); } catch (Exception e) { e.printStackTrace(); } } /** * 解析条形码 * * @param imgPath * @return */ 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; } public static void main(String[] args) { String imgPath = "c://zxing_EAN13.png"; // 益达无糖口香糖的条形码 // String contents = "6923450657713"; String contents="6901236341292"; int width = 105, height = 50; ZxingEAN13Handler handler = new ZxingEAN13Handler(); handler.encode(contents, width, height, imgPath); System.out.println("Michael ,you have finished zxing EAN13 encode."); } }
相关文章推荐
- git pull和git fetch的区别
- Android new File()初识(创建不出文件问题)
- WPF 后台读取样式文件
- 链表存储从文件读取的数据
- 8月初全球域名商(国际域名)解析量排行榜TOP20
- Code Forces 567 A. Lineland Mail(水~)
- 南邮 OJ 1656 通讯站建设
- 诚信
- iOS架构网址
- 动态规划_线性结构上的DP
- SQLAlchemy文档翻译第1章
- lnmp环境的搭建
- Erlang application stop 调用死锁
- Android 判断用户2G/3G/4G移动数据网络
- Erlang application stop 调用死锁
- ROS学习--(十七)turtlebot的安装
- Writing Resources
- VC++2010 MFC程序怎么在其他电脑运行
- 最短路(spfa)
- Linux命令-下载文件的工具:wget