Spire.Barcode for Java组件(一)生成条形码、二维码(QR code,Code 128,EAN 13等)
原创
©著作权归作者所有:来自51CTO博客作者成都冰蓝科技的原创作品,请联系作者获取转载授权,否则将追究法律责任
Spire.Barcode for Java是一款专业的条形码组件,用于在Java应用程序(J2SE和J2EE)中生成和识别一维和二维条码,支持多达38种条码格式(见下表),包括常见的QR code,PDF 417,EAN13,Code 39,Code93等。
CODE_25 | POST_NET |
CODABAR | SINGAPORE_POST_4_STATE |
CODE_11 | PLANET |
INTERLEAVED_25 | MSI |
CODE_39 | RSS_14 |
CODE_39_EXTENDED | RSS_14_TRUNCATED |
CODE_93 | RSS_LIMITED |
CODE_93_EXTENDED | RSS_EXPANDED |
CODE_128 | USPS |
EAN_8 | SWISS_POST_PARCEL |
EAN_13 | PZN |
EAN_128 | OPC |
EAN_14 | DEUTSCHE_POST_IDENTCODE |
SCC_14 | DEUTSCHE_POST_LEITCODE |
SSCC_18 | ROYAL_MAIL_4_STATE |
ITF_14 | DATA_MATRIX |
ITF_6 | QR_CODE |
UPCA | PDF_417 |
UPCE | PDF_417_MACRO |
下面将用代码展示如何使用这个组件生成QR code, Code 128和EAN 13条码。
QRCode
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.spire.barcode.BarCodeGenerator;
import com.spire.barcode.BarCodeType;
import com.spire.barcode.BarcodeSettings;
import com.spire.barcode.QRCodeDataMode;
import com.spire.barcode.QRCodeECL;
public class QRCode {
public static void main(String[] args) throws IOException {
//创建BarcodeSettings实例
BarcodeSettings settings = new BarcodeSettings();
//设置条码类型为QR二维码
settings.setType(BarCodeType.QR_Code);
//设置二维码数据
settings.setData("Hello123456789");
//设置二维码显示数据
settings.setData2D("Hello123456789");
//设置数据类型
settings.setQRCodeDataMode(QRCodeDataMode.Alpha_Number);
//设置二维码模型宽度
settings.setX(1.0f);
//设置二维码纠错级别
settings.setQRCodeECL(QRCodeECL.H);
//创建BarCodeGenerator实例
BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
//根据settings生成图像数据,保存至BufferedImage实例
BufferedImage bufferedImage = barCodeGenerator.generateImage();
//保存为PNG图片
ImageIO.write(bufferedImage, "png", new File("QRCode.png"));
System.out.println("Complete!");
}
}
Code128
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.spire.barcode.BarCodeGenerator;
import com.spire.barcode.BarCodeType;
import com.spire.barcode.BarcodeSettings;
public class Code128 {
public static void main(String[] args) throws IOException {
//创建BarcodeSettings实例
BarcodeSettings settings = new BarcodeSettings();
//设置条形码类型
settings.setType(BarCodeType.Code_128);
//设置条形码数据
settings.setData("123456789");
//设置条形码显示数据
settings.setData2D("123456789");
//在底部显示数据
settings.setShowTextOnBottom(true);
//设置边框为不可见
settings.hasBorder(false);
//创建BarCodeGenerator实例
BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
//根据settings生成图像数据,保存至BufferedImage实例
BufferedImage bufferedImage = barCodeGenerator.generateImage();
//保存为PNG图片
ImageIO.write(bufferedImage, "png", new File("CODE128.png"));
System.out.println("Complete!");
}
}
EAN13
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.spire.barcode.BarCodeGenerator;
import com.spire.barcode.BarCodeType;
import com.spire.barcode.BarcodeSettings;
import com.spire.barcode.CheckSumMode;
import com.spire.barcode.StringAlignment;
public class EAN13 {
public static void main(String[] args) throws IOException {
//创建BarcodeSettings实例
BarcodeSettingssettings = new BarcodeSettings();
//设置条形码类型
settings.setType(BarCodeType.EAN_13);
//设置条形码数据
settings.setData("123456789012");
//设置条形码显示数据
settings.setData2D("123456789012");
//计算校验和并添加检测数值
settings.setUseChecksum(CheckSumMode.Force_Enable);
//在条码底部显示条码文本并设置居中
settings.setShowTextOnBottom(true);
settings.setTextAlignment(StringAlignment.Center);
//创建BarCodeGenerator实例
BarCodeGeneratorbarCodeGenerator = new BarCodeGenerator(settings);
//根据settings生成图像数据,保存至BufferedImage实例
BufferedImagebufferedImage = barCodeGenerator.generateImage();
//保存为PNG图片
ImageIO.write(bufferedImage, "png", new File("EAN-13.png"));
System.out.println("Complete!");
}
}