精华内容
下载资源
问答
  • 常用条形码字体

    2012-04-18 19:47:39
    这是几款常用的重条形码字体。一般西方用的最多。
  • 常见条形码控件和条形码字体推荐 目前用于程序开发的条码产品主要分为 条码字体 及 条码控件 两大类,条码字体可以非常方便的作为一种特殊的字体在应用程序或OFFICE中输出,而条码控件主要用于嵌入到软件中,...

    条形码是什么?

    条形码是由一组按一定编码规则排列的条,空符号,用以表示一定的字符、数字及符号组成的信息。 条形码分为一维码和二维码两种。一维码比较常用,如日常商品外包装上的条形码就是一维码。它的信息存储量小,仅能存储一个代号,使用时通过这个代号调取计算机网络中的数据。二维码是近几年发展起来的,它能在有限的空间内存储更多的信息,包括文字、图象、指纹、签名等,并可脱离计算机使用。

    常用条码简介

    一维条码

    【EAN码】EAN码是国际物品编码协会制定的一种商品用条码,通用于全世界。EAN码符号有标准版(EAN-13)和缩短版(EAN-8)两种,我国的通用商品条码与其等效,日常购买的商品包装上所印的条码一般就是EAN码。如图所示:

    04102947_Vgi0.jpg

    【UPC码】 UPC码是美国统一代码委员会制定的一种商品用条码,主要用于美国和加拿大地区,我们在美国进口的商品上可以看到。如图所示:

    04102947_UOXY.jpg

    【39码】39码是一种可表示数字、字母等信息的条码,主要用于工业、图书及票证的自动化管理,目前使用极为广泛。如图所示:

    04102948_AXrZ.jpg

    【Code 93码】 Code 93码与39码具有相同的字符集,但它的密度要比39码高,所以在面积不足的情况下,可以用93码代替39码。

    04102948_KctN.jpg

    【Codabar】库德巴码也可表示数字和字母信息,主要用于医疗卫生、图书情报、物资等领域的自动识别。如图所示:

    04102948_hIN8.jpg

    【Code 128 码】128可表示ASCII 0 到 ASCII 127 共计128个ASCII字符。如图所示:

    04102948_2Idj.jpg

    二维条码

    【Matrix 25 条码】Matrix 25码只能表示数字0到9。当采用Matrix25码的编码规范,而采用ITF25码的启始符和终止符时,生成的条码就是中国邮政码。我公司的LabelShop条码标签打印软件可打印中国邮政码!

    04102948_VzCW.jpg

    【PDF417 二维条码】PDF417是一种堆叠式二维条码,目前应用最为广泛。PDF417条码是由美国SYMBOL公司发明的,PDF(Portable Data File)意为"便携数据文件"。组成条码的每一个条码字符由4个条和4个空,共17个模块构成,故称为PDF417条码。

    04102948_iWZW.jpg

    【QR Code 二维条码】QR Code码是由日本Denso公司于1994年9月研制的一种矩阵二维码符号,它除具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点外,还具有如下主要特点:

    04102948_8jUl.jpg

    哪种条形码类型最好?

    在了解上述如此之多的条形码后,哪种条形码类型最好?如何实施才能最好地满足业务需求?所有这些问题都需要在购买条形码相关产品前考虑清楚。接下来,我们一起来看看如何确实业务所需的条形码类型。到底哪种条形码最符合你的需求,你可以参考以下几点:

    1、你想编码什么类型的信息?

    不同的条形码类型是能够编码不同的信息。通常包含大写字母,小写字母,数字,特殊字符和函数等。因此,了解你所使用的条形码能够编码什么样的信息,是非常重要的。

    2、你的条形码的大小?

    一些条形码类型,如Code 39会根据编码字符的数目变多而变大,而一些高密度条形码,如Code 128在较小的宽度内表示更多的信息,128码可表示128个字符,密度高。二维(2D)条形码Data Matrix和QR Code可以编码800个字符信息,而且尺寸比其他同类更小。

    常见条形码控件和条形码字体推荐

    目前用于程序开发的条码产品主要分为条码字体条码控件两大类,条码字体可以非常方便的作为一种特殊的字体在应用程序或OFFICE中输出,而条码控件主要用于嵌入到软件中,客户端浏览不需要字体支持。

    IDAutomation公司条形码系列产品

    IDAutomation公司致力于条码的硬件及软件生产和研发,其产品以条码生成规范,识别精度高著称。它同时提供了条码字体条码控件两种产品,它的条码字体产品按照条码字体分类,用户可以选择购买自己需要的条码字体,而不用浪费钱购买包含一些无用条码字体的套包。IDAutomation公司的条码控件产品则是针对用户不同的开发及使用环境分为:.NET Forms,ActiveX& DLL,Pocket PC,水晶报表,Web,Java,FileMaker 数据库,Microsoft Access数据库,Oracle报表等各种版本。

    Neodynamic公司条形码系列产品

    Neodynamic公司的条码控件使用灵活功能强大,其产品按照开发环境分为:ASP.NET,.NET Windows Forms,Reporting Services,Compact Framework,WPF和Silverlight版本。

    转载于:https://my.oschina.net/u/935975/blog/232868

    展开全文
  • 有27个字体 128 39 93 cod ean itf pn upc .NET下不支持TRUETYPE。可用GDI+绘制
  • code39条形码字体

    2015-06-10 15:00:12
    CODE39条码是一种比较常用的一维条码制。条码本身用于将ASCII字符信息图形化,自动识别化。而Code39相当于条码应用的一个敲门砖。code39所有类型的条码都在这里。
  • 前言: ...我的这篇教程和上篇博客的不同之处: ...2 上篇博客只介绍了生成商品条形码,其他二维如Code93码、ISBN码、ISSN码、Code128码等等都没有介绍。我的博客里会介绍这些条码怎么生成。我文末会介绍常用条码及其如

    前言:

    JBarcode入门教程我就不写了,可以参考:点击打开链接

    我的这篇教程和上篇博客的不同之处:

    1 上篇博客直接生成二维码图片放到d盘的某个文件夹下,我的二维码生成二维码后直接用Base64编码然后返回到前台页面。

    2 上篇博客只介绍了生成商品条形码,其他二维如Code93码、ISBN码、ISSN码、Code128码等等都没有介绍。我的博客里会介绍这些条码怎么生成。我文末会介绍常用条码及其如何选择适合自己项目的条码。

    博客正文:

    1 什么是JBarcode工具,这个工具支持哪些条码



    2 如何用 JBarcode生成条形码,我这里提供生成商品条形码和128条形码

    1. package barcode;  
    2. import java.awt.image.BufferedImage;  
    3. import java.io.ByteArrayOutputStream;  
    4.   
    5. import javax.imageio.ImageIO;  
    6.   
    7. import org.apache.commons.lang.StringUtils;  
    8. import org.jbarcode.JBarcode;  
    9. import org.jbarcode.encode.Code128Encoder;  
    10. import org.jbarcode.encode.EAN13Encoder;  
    11. import org.jbarcode.encode.InvalidAtributeException;  
    12. import org.jbarcode.paint.BaseLineTextPainter;  
    13. import org.jbarcode.paint.EAN13TextPainter;  
    14. import org.jbarcode.paint.WidthCodedPainter;  
    15.   
    16. import sun.misc.BASE64Encoder;  
    17.    
    18. public class BarcodeUtil {  
    19.       
    20.     /**  
    21.      * 128条形码  
    22.      *  
    23.      * @param strBarCode  
    24.      *            条形码:0-100位  
    25.      * @param dimension  
    26.      *            商品条形码:尺寸  
    27.      * @param barheight  
    28.      *            商品条形码:高度  
    29.      * @return 图片(Base64编码)  
    30.      */  
    31.       public static String generateBarCode128(String strBarCode,String dimension,String barheight) {  
    32.               
    33.        
    34.             try {  
    35.                 ByteArrayOutputStream outputStream = null;  
    36.                 BufferedImage bi = null;  
    37.                 int len = strBarCode.length();  
    38.                 JBarcode productBarcode = new JBarcode(Code128Encoder.getInstance(),  
    39.                         WidthCodedPainter.getInstance(),  
    40.                         EAN13TextPainter.getInstance());  
    41.        
    42.                 // 尺寸,面积,大小 密集程度  
    43.                 productBarcode.setXDimension(Double.valueOf(dimension).doubleValue());  
    44.                 // 高度 10.0 = 1cm 默认1.5cm  
    45.                 productBarcode.setBarHeight(Double.valueOf(barheight).doubleValue());  
    46.                 // 宽度  
    47.                 productBarcode.setWideRatio(Double.valueOf(30).doubleValue());  
    48. //                  是否显示字体  
    49.                 productBarcode.setShowText(true);  
    50. //                 显示字体样式  
    51.                 productBarcode.setTextPainter(BaseLineTextPainter.getInstance());   
    52.        
    53.                 // 生成二维码  
    54.                 bi = productBarcode.createBarcode(strBarCode);  
    55.                   
    56.                 outputStream = new ByteArrayOutputStream();  
    57.                 ImageIO.write(bi, “jpg”, outputStream);  
    58.                 BASE64Encoder encoder = new BASE64Encoder();  
    59. //            System.err.println(encoder.encode(outputStream.toByteArray()));  
    60.   
    61.                 return encoder.encode(outputStream.toByteArray());  
    62.             } catch (Exception e) {  
    63.                 e.printStackTrace();  
    64.                 return “encodeError”;  
    65.             }  
    66.         }  
    67.       
    68.       
    69.       
    70.       
    71.    
    72.     /**  
    73.      * 商品条形码  
    74.      * @param strBarCode  
    75.      *            商品条形码:13位  
    76.      * @param dimension  
    77.      *            商品条形码:尺寸  
    78.      * @param barheight  
    79.      *            商品条形码:高度  
    80.      * @return 图片(Base64编码)  
    81.      */  
    82.     public static String generateBarCode(String strBarCode,String dimension,String barheight) {  
    83. //      isNumeric 是否是数值  
    84. //      校验。。。。。  
    85.           
    86.    
    87.         try {  
    88.             ByteArrayOutputStream outputStream = null;  
    89.             BufferedImage bi = null;  
    90.             int len = strBarCode.length();  
    91.             JBarcode productBarcode = new JBarcode(EAN13Encoder.getInstance(),  
    92.                     WidthCodedPainter.getInstance(),  
    93.                     EAN13TextPainter.getInstance());  
    94.               
    95.             String barCode = strBarCode.substring(0, len - 1);  
    96.             String code = strBarCode.substring(len - 1, len);  
    97.               
    98.             //校验13位  
    99.             String checkCode = productBarcode.calcCheckSum(barCode);  
    100.             if (!code.equals(checkCode)) {  
    101.                 return “checkCodeError”;  
    102.             }  
    103.    
    104.    
    105.             // 尺寸,面积,大小  
    106.             productBarcode.setXDimension(Double.valueOf(dimension).doubleValue());  
    107.             // 高度 10.0 = 1cm 默认1.5cm  
    108.             productBarcode.setBarHeight(Double.valueOf(barheight).doubleValue());  
    109.             // 宽度  
    110.             productBarcode.setWideRatio(Double.valueOf(25).doubleValue());  
    111.               
    112.             // 是否校验13位,默认false  
    113.             productBarcode.setShowCheckDigit(true);  
    114.               
    115.           //显示字符串内容中是否显示检查码内容  
    116. //          productBarcode.setShowCheckDigit(true);  
    117.    
    118.             // 生成二维码  
    119.             bi = productBarcode.createBarcode(barCode);  
    120.               
    121.             outputStream = new ByteArrayOutputStream();  
    122.             ImageIO.write(bi, “jpg”, outputStream);  
    123.             BASE64Encoder encoder = new BASE64Encoder();  
    124. //          System.err.println(encoder.encode(outputStream.toByteArray()));  
    125.   
    126.             return encoder.encode(outputStream.toByteArray());  
    127.         } catch (Exception e) {  
    128.             e.printStackTrace();  
    129.             return “encodeError”;  
    130.         }  
    131.     }  
    132.    
    133.     /**  
    134.      * @param args  
    135.      * @throws InvalidAtributeException  
    136.      */  
    137.     public static void main(String[] args) throws InvalidAtributeException {  
    138.    
    139.         String encode = BarcodeUtil.generateBarCode(“6936983800013”,”0.5”,”30”);  
    140.         String encode2 = BarcodeUtil.generateBarCode128(“69369833450938430579753045230800013”,”0.5”,”30”);  
    141.    
    142.         System.out.println(encode);  
    143.    
    144.     }  
    145.    
    146. }  
    package barcode;
    import java.awt.image.BufferedImage;
    import java.io.ByteArrayOutputStream;
    
    import javax.imageio.ImageIO;
    
    import org.apache.commons.lang.StringUtils;
    import org.jbarcode.JBarcode;
    import org.jbarcode.encode.Code128Encoder;
    import org.jbarcode.encode.EAN13Encoder;
    import org.jbarcode.encode.InvalidAtributeException;
    import org.jbarcode.paint.BaseLineTextPainter;
    import org.jbarcode.paint.EAN13TextPainter;
    import org.jbarcode.paint.WidthCodedPainter;
    
    import sun.misc.BASE64Encoder;
    
    public class BarcodeUtil {
    
        /**
         * 128条形码
         *
         * @param strBarCode
         *            条形码:0-100位
         * @param dimension
         *            商品条形码:尺寸
         * @param barheight
         *            商品条形码:高度
         * @return 图片(Base64编码)
         */
          public static String generateBarCode128(String strBarCode,String dimension,String barheight) {
    
    
                try {
                    ByteArrayOutputStream outputStream = null;
                    BufferedImage bi = null;
                    int len = strBarCode.length();
                    JBarcode productBarcode = new JBarcode(Code128Encoder.getInstance(),
                            WidthCodedPainter.getInstance(),
                            EAN13TextPainter.getInstance());
    
                    // 尺寸,面积,大小 密集程度
                    productBarcode.setXDimension(Double.valueOf(dimension).doubleValue());
                    // 高度 10.0 = 1cm 默认1.5cm
                    productBarcode.setBarHeight(Double.valueOf(barheight).doubleValue());
                    // 宽度
                    productBarcode.setWideRatio(Double.valueOf(30).doubleValue());
    //                  是否显示字体
                    productBarcode.setShowText(true);
    //                 显示字体样式
                    productBarcode.setTextPainter(BaseLineTextPainter.getInstance()); 
    
                    // 生成二维码
                    bi = productBarcode.createBarcode(strBarCode);
    
                    outputStream = new ByteArrayOutputStream();
                    ImageIO.write(bi, "jpg", outputStream);
                    BASE64Encoder encoder = new BASE64Encoder();
    //            System.err.println(encoder.encode(outputStream.toByteArray()));
    
                    return encoder.encode(outputStream.toByteArray());
                } catch (Exception e) {
                    e.printStackTrace();
                    return "encodeError";
                }
            }
    
    
    
    
    
        /**
         * 商品条形码
         * @param strBarCode
         *            商品条形码:13位
         * 13位条形码是有一定规则的。13位商品条码数的含义
         *   1、商品条码前3位是“国别码”,“690-695”开头的,该商品一般产自中国。
         *   2、厂商代码“第4-8位”,由国际物品编码协会统一分配。
         *   3、条码“9-12位”数,代表厂内商品代码,由厂商自行确定。
         *   4、条码最后一位数为校验码,由前面的数字通过特殊公式计算得出。
         *   5、商品条码我们常见上面标注有“EAN”,这个EAN码是国际物品编码协会制定第一种商品用条码,通用语全世界。有13位数的标准版(EAN-13)和8位数的(EAN-8)两种版本。
         * @param dimension
         *            商品条形码:尺寸
         * @param barheight
         *            商品条形码:高度
         * @return 图片(Base64编码)
         */
        public static String generateBarCode(String strBarCode,String dimension,String barheight) {
    //      isNumeric 是否是数值
    //      校验。。。。。
    
    
            try {
                ByteArrayOutputStream outputStream = null;
                BufferedImage bi = null;
                int len = strBarCode.length();
                JBarcode productBarcode = new JBarcode(EAN13Encoder.getInstance(),
                        WidthCodedPainter.getInstance(),
                        EAN13TextPainter.getInstance());
    
                String barCode = strBarCode.substring(0, len - 1);
                String code = strBarCode.substring(len - 1, len);
    
                //校验13位
                String checkCode = productBarcode.calcCheckSum(barCode);
                if (!code.equals(checkCode)) {
                    return "checkCodeError";
                }
    
    
                // 尺寸,面积,大小
                productBarcode.setXDimension(Double.valueOf(dimension).doubleValue());
                // 高度 10.0 = 1cm 默认1.5cm
                productBarcode.setBarHeight(Double.valueOf(barheight).doubleValue());
                // 宽度
                productBarcode.setWideRatio(Double.valueOf(25).doubleValue());
    
                // 是否校验13位,默认false
                productBarcode.setShowCheckDigit(true);
    
              //显示字符串内容中是否显示检查码内容
    //          productBarcode.setShowCheckDigit(true);
    
                // 生成二维码
                bi = productBarcode.createBarcode(barCode);
    
                outputStream = new ByteArrayOutputStream();
                ImageIO.write(bi, "jpg", outputStream);
                BASE64Encoder encoder = new BASE64Encoder();
    //          System.err.println(encoder.encode(outputStream.toByteArray()));
    
                return encoder.encode(outputStream.toByteArray());
            } catch (Exception e) {
                e.printStackTrace();
                return "encodeError";
            }
        }
    
        /**
         * @param args
         * @throws InvalidAtributeException
         */
        public static void main(String[] args) throws InvalidAtributeException {
    
            String encode = BarcodeUtil.generateBarCode("6936983800013","0.5","30");
            String encode2 = BarcodeUtil.generateBarCode128("69369833450938430579753045230800013","0.5","30");
    
            System.out.println(encode);
    
        }
    
    }
    

    有的读者想生成Code 11, Code 93类型的条码怎么生成呢?很简单

    答案就在创建Jbarcode对象代码里,如果你想生成128条码

    1. JBarcode productBarcode = new JBarcode(Code128Encoder.getInstance(),  
    2.                     WidthCodedPainter.getInstance(),  
    3.                     EAN13TextPainter.getInstance());  
     JBarcode productBarcode = new JBarcode(Code128Encoder.getInstance(),
                            WidthCodedPainter.getInstance(),
                            EAN13TextPainter.getInstance());
    如果你想生成EAN13Ender条码

    1. JBarcode productBarcode = new JBarcode(EAN13Encoder.getInstance(),  
    2.                     WidthCodedPainter.getInstance(),  
    3.                     EAN13TextPainter.getInstance());  
    JBarcode productBarcode = new JBarcode(EAN13Encoder.getInstance(),
                        WidthCodedPainter.getInstance(),
                        EAN13TextPainter.getInstance());

    看到红色字体里了吧,想生成什么条码直接xxx.getInstance即可,简单吧


    3 页面显示

    生成图片后,用Base64编码后得到字符串,假如为:”123xyz”

    页面jsp里<img src=”data:image/png;base64,123xyz”/>即可


    注意-注意条形码的字体样式!!!

    我当时就在这里栽了,不同的字体样式显示效果不一样,甚至可以用天上地下来形容他们的差距。最后没办法,只有看

    祝你成功!

    转载:http://blog.csdn.net/wabiaozia/article/details/52747772
    展开全文
  • 条码常用字体

    2012-05-04 15:59:23
    很实用的字体,条形码通常都是用这种字体,做包装的常用
  • 前言: ...我的这篇教程和上篇博客的不同之处: ...2 上篇博客只介绍了生成商品条形码,其他二维如Code93码、ISBN码、ISSN码、Code128码等等都没有介绍。我的博客里会介绍这些条码怎么生成。我文末会介绍常用

    前言:

    JBarcode入门教程我就不写了,可以参考:点击打开链接

    我的这篇教程和上篇博客的不同之处:

    1 上篇博客直接生成二维码图片放到d盘的某个文件夹下,我的二维码生成二维码后直接用Base64编码然后返回到前台页面。

    2 上篇博客只介绍了生成商品条形码,其他二维如Code93码、ISBN码、ISSN码、Code128码等等都没有介绍。我的博客里会介绍这些条码怎么生成。我文末会介绍常用条码及其如何选择适合自己项目的条码。

    博客正文:

    1 什么是JBarcode工具,这个工具支持哪些条码



    2 如何用 JBarcode生成条形码,我这里提供生成商品条形码和128条形码

    package barcode;
    import java.awt.image.BufferedImage;
    import java.io.ByteArrayOutputStream;
    
    import javax.imageio.ImageIO;
    
    import org.apache.commons.lang.StringUtils;
    import org.jbarcode.JBarcode;
    import org.jbarcode.encode.Code128Encoder;
    import org.jbarcode.encode.EAN13Encoder;
    import org.jbarcode.encode.InvalidAtributeException;
    import org.jbarcode.paint.BaseLineTextPainter;
    import org.jbarcode.paint.EAN13TextPainter;
    import org.jbarcode.paint.WidthCodedPainter;
    
    import sun.misc.BASE64Encoder;
     
    public class BarcodeUtil {
    	
    	/**
         * 128条形码
         *
         * @param strBarCode
         *            条形码:0-100位
         * @param dimension
         *            商品条形码:尺寸
         * @param barheight
         *            商品条形码:高度
         * @return 图片(Base64编码)
         */
    	  public static String generateBarCode128(String strBarCode,String dimension,String barheight) {
    	        
    	 
    	        try {
    	        	ByteArrayOutputStream outputStream = null;
    	            BufferedImage bi = null;
    	            int len = strBarCode.length();
    	            JBarcode productBarcode = new JBarcode(Code128Encoder.getInstance(),
    	                    WidthCodedPainter.getInstance(),
    	                    EAN13TextPainter.getInstance());
    	 
    	            // 尺寸,面积,大小 密集程度
    	            productBarcode.setXDimension(Double.valueOf(dimension).doubleValue());
    	            // 高度 10.0 = 1cm 默认1.5cm
    	            productBarcode.setBarHeight(Double.valueOf(barheight).doubleValue());
    	            // 宽度
    	            productBarcode.setWideRatio(Double.valueOf(30).doubleValue());
    //	      		    是否显示字体
    	            productBarcode.setShowText(true);
    //	         	   显示字体样式
    	            productBarcode.setTextPainter(BaseLineTextPainter.getInstance()); 
    	 
    	            // 生成二维码
    	            bi = productBarcode.createBarcode(strBarCode);
    	            
    	            outputStream = new ByteArrayOutputStream();
    	            ImageIO.write(bi, "jpg", outputStream);
    	            BASE64Encoder encoder = new BASE64Encoder();
    //	          System.err.println(encoder.encode(outputStream.toByteArray()));
    
    	            return encoder.encode(outputStream.toByteArray());
    	        } catch (Exception e) {
    	            e.printStackTrace();
    	            return "encodeError";
    	        }
    	    }
    	
    	
    	
    	
     
        /**
         * 商品条形码
         * @param strBarCode
         *            商品条形码:13位
         * @param dimension
         *            商品条形码:尺寸
         * @param barheight
         *            商品条形码:高度
         * @return 图片(Base64编码)
         */
        public static String generateBarCode(String strBarCode,String dimension,String barheight) {
    // 		isNumeric 是否是数值
    //    	校验。。。。。
            
     
            try {
            	ByteArrayOutputStream outputStream = null;
                BufferedImage bi = null;
                int len = strBarCode.length();
                JBarcode productBarcode = new JBarcode(EAN13Encoder.getInstance(),
                        WidthCodedPainter.getInstance(),
                        EAN13TextPainter.getInstance());
                
                String barCode = strBarCode.substring(0, len - 1);
                String code = strBarCode.substring(len - 1, len);
                
                //校验13位
                String checkCode = productBarcode.calcCheckSum(barCode);
                if (!code.equals(checkCode)) {
                    return "checkCodeError";
                }
     
     
                // 尺寸,面积,大小
                productBarcode.setXDimension(Double.valueOf(dimension).doubleValue());
                // 高度 10.0 = 1cm 默认1.5cm
                productBarcode.setBarHeight(Double.valueOf(barheight).doubleValue());
                // 宽度
                productBarcode.setWideRatio(Double.valueOf(25).doubleValue());
                
                // 是否校验13位,默认false
                productBarcode.setShowCheckDigit(true);
                
              //显示字符串内容中是否显示检查码内容
    //          productBarcode.setShowCheckDigit(true);
     
                // 生成二维码
                bi = productBarcode.createBarcode(barCode);
                
                outputStream = new ByteArrayOutputStream();
                ImageIO.write(bi, "jpg", outputStream);
                BASE64Encoder encoder = new BASE64Encoder();
    //          System.err.println(encoder.encode(outputStream.toByteArray()));
    
                return encoder.encode(outputStream.toByteArray());
            } catch (Exception e) {
                e.printStackTrace();
                return "encodeError";
            }
        }
     
        /**
         * @param args
         * @throws InvalidAtributeException
         */
        public static void main(String[] args) throws InvalidAtributeException {
     
            String encode = BarcodeUtil.generateBarCode("6936983800013","0.5","30");
            String encode2 = BarcodeUtil.generateBarCode128("69369833450938430579753045230800013","0.5","30");
     
            System.out.println(encode);
     
        }
     
    }
    

    有的读者想生成Code 11, Code 93类型的条码怎么生成呢?很简单

    答案就在创建Jbarcode对象代码里,如果你想生成128条码

     JBarcode productBarcode = new JBarcode(Code128Encoder.getInstance(),
    	                    WidthCodedPainter.getInstance(),
    	                    EAN13TextPainter.getInstance());
    如果你想生成EAN13Ender条码

    JBarcode productBarcode = new JBarcode(EAN13Encoder.getInstance(),
                        WidthCodedPainter.getInstance(),
                        EAN13TextPainter.getInstance());

    看到红色字体里了吧,想生成什么条码直接xxx.getInstance即可,简单吧


    3 页面显示

    生成图片后,用Base64编码后得到字符串,假如为:"123xyz"

    页面jsp里<img src="data:image/png;base64,123xyz"/>即可


    注意-注意条形码的字体样式!!!

    我当时就在这里栽了,不同的字体样式显示效果不一样,甚至可以用天上地下来形容他们的差距。最后没办法,只有看源码找到了控制条码字体样式的方法。

    祝你成功!

    对博客哪里不懂得地方欢迎留言提问!

    我博客所有文章的目录:http://blog.csdn.net/wabiaozia?viewmode=contents




    展开全文
  • 附件包含如下文件: 一维条形码字体,例如Code39、Code128等常用字体; 二维码生成与演示软件及操作说明手册
  • 文件不到2M,但常用的条码字库都有了。 解压后请将文件(别拷目录)直接拷入windows字库目录下(WINDOWS\Fonts),打开word等编辑软件给文字选择相应条形码字体后即可使用,支持打印。
  • 生成条码的控件,支持目前常用的条码类型,能调整字体字号,条码尺寸,与MSCODE.OCX功能相似,但远胜于它.
  • Excel应用之先行后列的双列编码制作

    千次阅读 2011-12-30 01:09:44
    因工作需要,最近在制作一种12位编码,需要把编码转换成条形码,并把条形码及编码值打印出来贴在物品上。打印机使用的纸张只够打印两...因为受种种因素影响,选择的条形码字体是不带编码值的,所以采用了上面一单元格为
     
    

             因工作需要,最近在制作一种12位编码,需要把编码转换成条形码,并把条形码及编码值打印出来贴在物品上。打印机使用的纸张只够打印两张编码(排列方式:一行两列)。所以得用Excel制作这么一种先行后列的双列编码。(强大的Excel成了我目前最常用的工具)

             12位编码如LA0050BC0009,后四位是流水码。因为受种种因素影响,选择的条形码字体是不带编码值的,所以采用了上面一单元格为条形码,下一个为编码值。如下图所示(本人电脑上不带条形码字体,示意一下就好了。条形码有时需要在前后加个星号“*”):

             本文中将以下图为例进行说明:(LA0050BC0009代表条形码,用后五位C0009代表编码值)

             然而编码值可以用个非常简单公式的公式完成,因此进一步转换为实现此种功能便可。用函数完成的,加上求编码值的函数,都可以往下拉。技巧将另做解释。

             经过Excel的三大法宝(技巧+函数+VBA),共总结出六种方法:

    一、VBA——VBA函数法

      用VBA制作一函数jinzhi36(cell),使其为单元格cell的后面一个编码。此使用的是36进制(0-Z),可以满足超过一万的编码。采用的是递归法实现进位。

    '*********************************************

    'Name:      jinzhi36

    'Function:

    'Designer:  Ralap Zhong

    'Date:      2011-12-29

    '*********************************************

     

    Option Explicit

    Function jinzhi36(a As Range) As String

    Dim liushuima As String * 4

    With a

        liushuima$ = Right(.Value, 4)

        liushuima = digui(liushuima, 1)

        If liushuima = "#NG!" Then

            jinzhi36 = liushuima

        Else

            jinzhi36 = Left(.Value, Len(.Value) - 4) & liushuima

        End If

    End With

    End Function

     

    Function digui(fourchar As String, n As Byte) As String

    Dim ARY()

    Dim temp As String * 1

    Dim i As Integer

        If n = 5 Then

            MsgBox "The value you input is over tha range value! ", vbExclamation, "Error"

            digui = "#NG!"

            Exit Function

        End If

        ARY = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")

        temp = Mid(fourchar, 5 - n, 1)

        For i = 0 To 35

            If ARY(i) = UCase(temp) Then

                If i <> 35 Then

                    temp = ARY(i + 1)

                    fourchar = Left(fourchar, 4 - n) & temp & Right(fourchar, n - 1)

                Else

                    temp = ARY(0)

                    fourchar = Left(fourchar, 4 - n) & temp & Right(fourchar, n - 1)

                    fourchar = digui(fourchar, n + 1)

                End If

                Exit For

            End If

        Next i

        digui = fourchar

    End Function

    二、技巧——等差数列下拉法

      把前两行数据写好,选择前两行数据往下拉就可以了,实现了等差为2的等差数列。

      添加编码值方法:在编码数据后面一列添加序列(1…编码数据行数),再复制此序列到后面

      选中此区域,再以序列排序

      再选中此区域,定位(Ctrl+G)——定位条件——空值——再编辑栏中输入公式“=RIGHT(B2,5)”(B2为第一个编码所在单元格,输入完后千万别按回车)——Ctrl+Enter结束

    三、技巧——排序法

      跟上面差不多,这里一起添加编码值好了。把前两行写好

      往下拉,再添加辅助列(0,0,1,1),往下复制——辅助列排序——把1对应的数据剪切到0对应的位置

    四、函数——流水码升序法

      公式="LA0050BC"&TEXT(RIGHT(L2,4)+1,"0000")

      把前位置的后四位取出,加1后放自己位置

    五、函数——辅助列+绝对位置法

      公式=INDEX($O$3:$O$100,MATCH($P$3,$O$3:$O$100,0)+(ROW()-3)*2+MOD(COLUMN(),2))

      主要把找出第一个数据的位置,找到本单元格在辅助列中的绝对位置

    六、函数——辅助列+相对位置法

      先使用了辅助公式(不知道为什么不能整合在一起,求高手告知):U2=ADDRESS(MATCH($T$3,$S$3:$S$100,0)+2,19)

      然后求编码:=HLOOKUP($T$3,INDIRECT($U$2):$S$100,(ROW()-3)*2+MOD(COLUMN(),2)+1)

      或=OFFSET(INDIRECT($U$2),(ROW()-ROW($T$16))*2+COLUMN()-COLUMN($T$16),0)

      主要先把找出第一个数据的位置,并以此为基准,找到本单元格相对第一个数据的位置。

     

    时间不早,最后写的匆忙,有疑问可以联系我。希望能帮助大家解决实际问题,同样欢迎各位指导、指正,谢谢!

    展开全文
  • RcBarcode

    2006-05-29 00:00:00
    支持常用条形码。支持缩放,支持系列化,也可保存为图片或者SVG文件,支持打印。若需要控件源码,欢迎给我邮件,让我看看有多少人对闭门造的车感兴趣。其中的字体部分我用了个logfont结构,控件属性传个结构好像...
  • 激光打标软件Ezcad2.7.6

    2018-11-09 15:02:10
    支持TrueType字体,单线字体(JSF),点阵字体(DMF),一维条形码和二维条形码。 灵活的变量文本处理,加工过程中实时改变文字,可以直接动态读写文本文件和Excel文件。 强大的节点编辑功能和图形编辑功能,可进行...
  • 小票打印就是向打印设备发送控制打印格式的指令集,而这些打印格式...打印条形码 切纸 打开钱箱 字符串转字节数组 字符拼接 PrintFormatUtils.java/** * 打印格式 * Created by john on 17-3-23. */public class P
  • 打印条形码 切纸 打开钱箱 字符串转字节数组 字符拼接 PrintFormatUtils.Java /** * 打印格式 * Created by john on 17-3-23. */ public class PrintFormatUtils { // 对齐方式 public static final int ...
  • 打印商品价签的字体大小宽度可调节,商家标志可增加,价签上条形码激光枪可识别,方便日后的盘点工作。 ☆ 备份功能;强大的备份功能增加了软件的安全性。 ☆ 销售数据倒出、倒入;可把销售数据倒出到其它地方,使...
  • 打印商品价签的字体大小宽度可调节,商家标志可增加,价签上条形码激光枪可识别,方便日后的盘点工作。 ☆ 备份功能;强大的备份功能增加了软件的安全性。 ☆ 销售数据倒出、倒入;可把销售数据倒出到其它地方,使...
  • 可以将文本生成条形码图片,并且保存为PNG 工具类 代码行数统计 可以统计文件中代码行数('\n'数量) PNG图片压缩 基于Zopfli开发,用于压缩PNG图片,压缩是无损的。 JPG图片压缩 基于Guetzli开发,用于...
  • 条形码/二维码 其他 1.博客 ★ 2.版本更新 ★ 3.全局异常捕获 ★ 4.内存泄漏检测 ★ 5.Rxjava+Retrofit封装 ★ 6.调用系统功能 ★ 7.SQLite 资源 1.Google网站 ★ 2.GitHub资源归类项目 ★ 3.学习网站 ★ 4....
  • 0322 在程序中如何为条形码控件赋值 168 5.8 MSChart控件 168 0323 如何通过代码将MSChart控件关联到MSADODC控件上 168 0324 如何修改MSChart控件的字体和颜色 168 0325 显示柱型图 168 0326 显示柱型图...
  • 实例022 建立字体形状窗体 29 1.7 多媒体光盘 30 实例023 自动启动的多媒体光盘程序 30 实例024 为触摸屏程序添加虚拟键盘 31 实例025 触摸屏系统 32 1.8 窗体效果 34 实例026 半透明渐显窗体 ...
  • 实例022 建立字体形状窗体 29 1.7 多媒体光盘 30 实例023 自动启动的多媒体光盘程序 30 实例024 为触摸屏程序添加虚拟键盘 31 实例025 触摸屏系统 32 1.8 窗体效果 34 实例026 半透明渐显窗体 ...
  •  10.5 Android QR Code二维条形码扫描仪  10.6 上班族今天中午要吃什么  10.7 掷杯筊  10.8 电蚊香  10.9 转转轮盘——Lucky!  10.10 任务管理器  10.11 免费的云端发音字典  10.12 动起来!手机...
  • 主要包括ASP.NET技术基础、VS 2008环境搭建,还详细讲解了C#语言设计入门,然后从常用Web服务器控件、ASP.NET安全验证控件、数据绑定控件、Web用户控件和ASP.NET导航控件全面介绍了几乎所有ASP.NET控件应用,接着以...
  • 实例114 批量打印条形码 181 实例115 相册特效打印程序 183 实例116 镜面效果文本打印 186 实例117 透明的打印预览对话框 187 第6章 管理图像文件 189 6.1 图像的修改与保存 190 实例118 保存图片文件 190 实例119 ...
  • 主要包括ASP.NET技术基础、VS 2008环境搭建,还详细讲解了C#语言设计入门,然后从常用Web服务器控件、ASP.NET安全验证控件、数据绑定控件、Web用户控件和ASP.NET导航控件全面介绍了几乎所有ASP.NET控件应用,接着以...
  • 主要包括ASP.NET技术基础、VS 2008环境搭建,还详细讲解了C#语言设计入门,然后从常用Web服务器控件、ASP.NET安全验证控件、数据绑定控件、Web用户控件和ASP.NET导航控件全面介绍了几乎所有ASP.NET控件应用,接着以...
  • 10.5 android qr code二维条形码扫描仪 718 10.6 上班族今天中午要吃什么 726 10.7 掷杯筊 746 10.8 电蚊香 751 10.9 转转轮盘——lucky! 756 10.10 任务管理器 758 10.11 免费的云端发音字典 ...
  • 实例114 批量打印条形码 181 实例115 相册特效打印程序 183 实例116 镜面效果文本打印 186 实例117 透明的打印预览对话框 187 第6章 管理图像文件 189 6.1 图像的修改与保存 190 实例118 保存图片文件 190 实例119 ...
  • 实例114 批量打印条形码 181 实例115 相册特效打印程序 183 实例116 镜面效果文本打印 186 实例117 透明的打印预览对话框 187 第6章 管理图像文件 189 6.1 图像的修改与保存 190 实例118 保存图片文件 190 实例119 ...

空空如也

空空如也

1 2 3 4
收藏数 74
精华内容 29
关键字:

条形码常用字体