(zxing.net)二维码PDF417的简介、实现与解码

一、简介

二维码PDF417是一种堆叠式二维条码。PDF417条码是由美国SYMBOL公司发明的,PDF(Portable Data File)意思是“便携数据文件”。组成条码的每一个条码字符由4个条和4个空共17个模块构成,故称为PDF417条码。 PDF417条码需要有417解码功能的条码阅读器才能识别。PDF417条码最大的优势在于其庞大的数据容量和极强的纠错能力。

PDF417条码是一种高密度、高信息含量的便携式数据文件,是实现证件及卡片等大容量、高可靠性信息自动存储、携带并可用机器自动识读的理想手段。

PDF417条码可表示数字、字母或二进制数据,也可表示汉字。一个PDF417条码最多可容纳1850 个字符或1108 个字节的二进制数据,如果只表示数字则可容纳2710 个数字。PDF417的纠错能力分为9级,级别越高,纠正能力越强。由于这种纠错功能,使得污损的PDF417条码也可以正确读出。我国已制定了PDF417码的国家标准。

二维码PDF417可应用在:证件管理、执照年检、报表管理、机电产品的生产和组配线、银行票据管理及行包、货物的运输和邮递。
二、实现

    public ActionResult PDF_417()
    {
        PDF417EncodingOptions options = new PDF417EncodingOptions();
        options.AspectRatio = PDF417AspectRatio.AUTO;
        options.Compact = false;
        options.Compaction = Compaction.AUTO;
        options.DisableECI = true;
        options.ErrorCorrection = PDF417ErrorCorrectionLevel.AUTO;
        options.PureBarcode = false;
        options.GS1Format = false;
        options.Width = 280;
        options.Height = 75;
        options.Margin = 10;
 
        BarcodeWriter writer = new BarcodeWriter();
        writer.Format = BarcodeFormat.PDF_417;
        writer.Options = options;

        //如需设置图片为其它颜色,使用此段代码
        //BitmapRenderer renderer = new BitmapRenderer();
        //renderer.Foreground = Color.Black;
        //renderer.Background = Color.White;
        //writer.Renderer = renderer;

        Bitmap bmp = writer.Write("This is a MaxiCode by TEC-IT");
        MemoryStream ms = new MemoryStream();
        bmp.Save(ms, ImageFormat.Png);
        ms.Flush();
        ms.Position = 0;
        return File(ms, "application/x-png");
    }

测试图像如下:

   

三、解码

点击查看

posted @ 2018-12-06 15:40  a boy  阅读(1949)  评论(0编辑  收藏  举报