精选rcodej使用方法.docx
- 文档编号:29213547
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:9
- 大小:20.69KB
精选rcodej使用方法.docx
《精选rcodej使用方法.docx》由会员分享,可在线阅读,更多相关《精选rcodej使用方法.docx(9页珍藏版)》请在冰豆网上搜索。
精选rcodej使用方法
公司内部编号:
(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-9018)
精选rcodej使用方法
Barcode4j使用方法
1->usingtheJavaBeanAPI
publicstaticvoidgenerateCode128Barcode(Filefile,Stringcode){
Code128Beanbean=newCode128Bean();
finalintdpi=150;
//barcode
bean.setModuleWidth(0.21);
bean.setHeight(15);
bean.doQuietZone(true);
bean.setQuietZone
(2);//两边空白区
//human-readable
bean.setFontName("Helvetica");
bean.setFontSize(3);
bean.setMsgPosition(HumanReadablePlacement.HRP_BOTTOM);
OutputStreamout=null;
try{
out=newFileOutputStream(file);
BitmapCanvasProvidercanvas=newBitmapCanvasProvider(out,
"image/jpeg",dpi,BufferedImage.TYPE_BYTE_BINARY,true,0);
bean.generateBarcode(canvas,code);
canvas.finish();
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(out!
=null)
out.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
publicstaticvoidgenerateCode39Barcode(intmode,Filefile,Stringcode){
Code39Beanbean=newCode39Bean();
//DotPerInch每英寸所打印的点数或线数,用来表示打印机打印分辨率。
finalintdpi=150;
//bean.setModuleWidth(UnitConv.in2mm(1.0f/dpi));
bean.setModuleWidth(0.2);
bean.setHeight(15);
bean.setWideFactor(3);
bean.doQuietZone(true);
OutputStreamout=null;
try{
out=newFileOutputStream(file);
if(mode==0){
BitmapCanvasProvidercanvas=newBitmapCanvasProvider(out,
"image/jpeg",dpi,BufferedImage.TYPE_BYTE_GRAY,false,
0);
bean.generateBarcode(canvas,code);
canvas.finish();
}else{
BitmapCanvasProvidercanvas=newBitmapCanvasProvider(dpi,
BufferedImage.TYPE_BYTE_GRAY,true,0);
bean.generateBarcode(canvas,code);
canvas.finish();
BufferedImagebarcodeImage=canvas.getBufferedImage();
ImageIO.write(barcodeImage,"jpg",out);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(out!
=null)
out.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
2->useXMLAPI
code39.xml
java
**
*不同的类型,其属性定义有所有同,最好是加载xml文件的方式来配置
*/
publicstaticConfigurationbuildCfg(Stringbarcode_type){
DefaultConfigurationcfg=newDefaultConfiguration("barcode");
DefaultConfigurationbarcodeType=newDefaultConfiguration(barcode_type);
/***********属性设置**************/
addChild(barcodeType,"bar-height",15);
addChild(barcodeType,"module-width","0.19");
addChild(barcodeType,"quiet-zone",10);
addChild(barcodeType,"wide-factor","2.5");
addChild(barcodeType,"interchar-gap-width",1);
DefaultConfigurationhumanReadable=newDefaultConfiguration("human-readable");
addChild(humanReadable,"placement","bottom");
addChild(humanReadable,"font-name","Helvetica");
addChild(humanReadable,"font-size","3mm");
barcodeType.addChild(humanReadable);
cfg.addChild(barcodeType);
returncfg;
}
/**
*添加子节点
*@paramparent
*@paramattrName
*@paramattrValue
*/
publicstaticvoidaddChild(DefaultConfigurationparent,StringattrName,ObjectattrValue){
DefaultConfigurationattr;
attr=newDefaultConfiguration(attrName);
if(attrValueinstanceofString){
attr.setValue((String)attrValue);
}else{
attr.setValue((Integer)attrValue);
}
parent.addChild(attr);
}
/**
*加载xml配置的条形码属性文件
*@paramfile
*@return
*/
publicstaticConfigurationbuildCfgFromFile(Filefile){
DefaultConfigurationBuilderbuilder=newDefaultConfigurationBuilder();
Configurationcfg=null;
try{
cfg=builder.buildFromFile(file);
}catch(Exceptione){
e.printStackTrace();
}
returncfg;
}
/**
*生成条形码
*@parambarcodeType
*@paramcode
*@paramfile
*/
publicstaticvoidgenerateBarcode(StringbarcodeType,Stringcode,
Filefile){
byte[]data;
ByteArrayOutputStreambaos=null;
BitmapCanvasProviderbitmap=null;
StringFORMAT=MimeTypes.MIME_JPEG;
intRESOLUTION=150;
intORIENTATION=0;
try{
//加载文件方式
//Configurationcfg=buildCfgFromFile(getResourceFile(barcodeType.concat(".xml")));
Configurationcfg=buildCfg(barcodeType);//程序中的配置属性
BarcodeUtilutil=BarcodeUtil.getInstance();
BarcodeGeneratorgen=util.createBarcodeGenerator(cfg);
baos=newByteArrayOutputStream();
bitmap=newBitmapCanvasProvider(baos,FORMAT,RESOLUTION,
BufferedImage.TYPE_BYTE_GRAY,true,ORIENTATION);
gen.generateBarcode(bitmap,code);
bitmap.finish();
data=baos.toByteArray();
FileOutputStreamout=newFileOutputStream(file);
out.write(data);
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(baos!
=null){
baos.close();
}
bitmap=null;
}catch(Exceptione){
}
}
}
/**
*取资源文件
*@paramfileName
*@return
*/
publicstaticFilegetResourceFile(StringfileName){
Stringpath=ClassLoader.getSystemResource("").getPath().substring
(1)+fileName;
returnnewFile(path);
}
3.测试
publicstaticvoidmain(String[]args){
Stringcode="ISN8859-52036";
generateCode39Barcode(0,newFile("d:
/barcode/code39_0.jpg"),code);
generateCode39Barcode(1,newFile("d:
/barcode/code39_1.jpg"),code);
generateCode128Barcode(newFile("d:
/barcode/code128.jpg"),code);
generateBarcode("code39",code,newFile("d:
/barcode/code39.jpg"));
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 rcodej 使用方法