本篇内容介绍了“Java如何生成读取条形码和二维码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
条形码将宽度不等的多个黑条和白条,按照一定的编码规则排序,用以表达一组信息的图像标识符
通常代表一串数字 / 字母,每一位有特殊含义
一般数据容量30个数字 / 字母
二维码用某种特定几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息
比一维条形码能存储更多信息,表示更多数据类型
能够存储数字 / 字母 / 汉字 / 图片等信息
可存储几百到几十KB字符
ZxingZxing主要是Google出品的,用于识别一维码和二维码的第三方库
主要类:
BitMatrix位图矩阵
MultiFormatWriter位图编写器
MatrixToImageWriter写入图片
注意:一维码只能存储数字和字母,其他数据会报Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0:exec (default-cli) on project MavenDemo: Command execution failed.错误java
读取一维码public static void main(String[] args) { readCode(new File("1dcode.png")); } /** * @param readImage 读取一维码图片名 * @return void * */ public static void readCode(File readImage) { try { BufferedImage image = ImageIO.read(readImage); if (image == null) { return; } LuminanceSource source = new BufferedImageLuminanceSource(image); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Map<DecodeHintType, Object> hints = new HashMap<DecodeHintType, Object>(); hints.put(DecodeHintType.CHARACTER_SET, "gbk"); hints.put(DecodeHintType.PURE_BARCODE, Boolean.TRUE); hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); Result result = new MultiFormatReader().decode(bitmap, hints); System.out.println(result.getText()); } catch (Exception e) { e.printStackTrace(); } }郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。