OpenJWeb平台提供了免费的二维码图片生成的在线工具,可通过下面的地址访问:
http://www.tuozhong.com/portal/apps/b2c/pcenter/qrcode.jsp
下面是页面效果:
二维码代码生成程序(支持反向解析):
package com.openjweb.erp.barcode;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.Reader;
import com.google.zxing.ReaderException;
import com.google.zxing.Result;
import com.google.zxing.WriterException;
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;
import com.google.zxing.qrcode.encoder.ByteMatrix;
//http://hi.baidu.com/baid/blog/item/fd446e06d199a77702088102.html
//http://www.4ucode.com/Study/Topic/1162485
//http://www.baishaode.com/blog/?p=436
public class QRCodeGen
{
/**
* 生成二维码图片
* @param code 待生成图片的二维码
* @param destFile 生成二维码图片存储的文件
*/
public static void createQRCodePic(String code,String destFile)
{
BitMatrix byteMatrix;
try
{
byteMatrix = new MultiFormatWriter()
.encode(code,BarcodeFormat.QR_CODE, 200, 200);
File file = new File(destFile);
MatrixToImageWriter.writeToFile(byteMatrix, destFile.substring(destFile.lastIndexOf(".")+1), file);
}
catch (IOException e)
{
e.printStackTrace();
}
catch (WriterException e1)
{
e1.printStackTrace();
}
}
public static void createBarCodePic(String code,String codeType,String destFile)
{
BitMatrix byteMatrix;
try
{
BarcodeFormat barcodeFormat =BarcodeFormat.QR_CODE; //默认
if(codeType!=null&&codeType.trim().length()>0)
{
if(codeType.equals("QR_CODE"))barcodeFormat=BarcodeFormat.QR_CODE;
if(codeType.equals("CODABAR"))barcodeFormat=BarcodeFormat.CODABAR; //这个不支持
if(codeType.equals("CODE_128"))barcodeFormat=BarcodeFormat.CODE_128;
if(codeType.equals("CODE_39"))barcodeFormat=BarcodeFormat.CODE_39;
if(codeType.equals("CODE_93"))barcodeFormat=BarcodeFormat.CODE_93;
if(codeType.equals("ITF"))barcodeFormat=BarcodeFormat.ITF;
if(codeType.equals("EAN_13"))barcodeFormat=BarcodeFormat.EAN_13;
//如果有更多的格式请在下面添加,上面只有QR_CODE为二维码
}
byteMatrix = new MultiFormatWriter()
.encode(code,barcodeFormat, 200, 200);
File file = new File(destFile);
MatrixToImageWriter.writeToFile(byteMatrix, destFile.substring(destFile.lastIndexOf(".")+1), file);
}
catch (IOException e)
{
e.printStackTrace();
}
catch (WriterException e1)
{
e1.printStackTrace();
}
}
/**
* 反向解析二维码
* @param picFile
* @return
*/
public static String decodeQRCode(String imgPath,String charset)
{
String code = "";
try
{
Reader reader = new MultiFormatReader();
File file = new File(imgPath);
BufferedImage image;
try
{
image = ImageIO.read(file);
if (image == null)
{
System.out.println("Could not decode image");
}
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Result result;
Hashtable hints= new Hashtable();
hints.put(DecodeHintType.CHARACTER_SET, charset); //utf-8
//解码设置编码方式为:utf-8,
result = new MultiFormatReader().decode(bitmap,hints);
String resultStr = result.getText();
code = resultStr;
System.out.println("解析后内容:"+resultStr);
}
catch (IOException ioe)
{
System.out.println(ioe.toString());
}
catch (ReaderException re)
{
System.out.println(re.toString());
}
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
return code;
}
public static void main(String[] args) {
String str = "test";//二维码内容
String path = "d:/test";
BitMatrix byteMatrix;
try
{
byteMatrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, 200, 200);
File file = new File(path + ".png");
MatrixToImageWriter.writeToFile(byteMatrix, "png", file);
} catch (IOException e) {
e.printStackTrace();
} catch (WriterException e1) {
e1.printStackTrace();
}
}
}
分享到:
相关推荐
C#二维码图片生成,二维码图片解码含源代码 比较适合初学和进阶学者,使用的是com.google.zxing.common库 将指定的文字或数字生成二维码图片 将生成的二维码图二内容进行解码成对应的文字或数字。 可进行设置图片的...
此示例是对应用RCODE生成的二维码图片的源码,环境依赖JDK1.6版本的编译器,经实际测试,生成的二维码图片在电脑屏幕上用PDA手持机都能轻松的读取其中的数据,很好用。直接执行QRCodeEncoderTest.java文件就可以运行...
在线二维码图片生成器
二维码离线生成工具 收款码自定义工具 电脑与手机交互,二维码本机生成,可自定义图片尺寸等质量,无需联网
Java二维码生成工具
程序使用JAVA语言编写,运行时请确保电脑已安装并配置好JAVA运行环境; ...若存在空行则此行不会生成二维码图片。 注意:若杀毒软件阻止软件运行或报毒,请允许运行或 退出杀毒软件再执行本程序。
源免费的二维码批量生成工具,可以按自己需要的规则批量生成二维码,比如数字自增二维码、随机生成二维码、按日期批量生成二维码。同时软件不仅免费还开源,永久不收费。文档
速强二维码批量生成工具是一款批量生成... 然后开始进行纸张大小和生成二维码设置,很简单哦 最后点击生成图片按钮,您要的二维码已经生成啦 如图总共23条记录,每张纸9个二维码,总共生成了3张图哦 软件就是这么给力!
二维码 图片生成器,把所有信息制作成一张图片多酷啊
二维码批量生成Python脚本,可生成带ICON图标或不带图标的图片文件,用于批量打印、检查、扫码等工作场景。 QRCODE需要安装:pip install qrcode 示例中输入文件:PL_XLD_CODE.txt的内容如下:类似的创建一个吧 NC-...
二维码在线生成工具,可以在网页上自动生成二维码
二维码名片生成工具是一款可以帮助用户制作生成二维码名片的工具,并且该二维码名片生成器还可以对已有二维码进行逆向解码,还原二维码原始信息
基于MFC二维码打印工具,可以直接在二维码生成显示框中直接填入需要打印的二维码具体值,点击“生成”按钮,在右侧图片框中显示出相关的二维码,通过点击打印按钮可以打印相关二维码
该软件基于qrencode进行功能增加,可以生成bmp等常用图片格式的二维码。
二维码生成工具源码
Java后台生成二维码工具类
可直接安装的二维码生成与扫描工具,能够实现二维码的生成与扫描
用Servlet实现的二维码图片生成,完整打jsp页面,和源代码