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

摘要:
构成条形码的每个条形码字符由17个模块组成,包括4个条和4个空白,因此称为PDF417条形码。PDF417条形码需要具有417解码功能的条形码读取器才能识别。PDF417条码的最大优点是其巨大的数据容量和强大的纠错能力。PDF417条码可以表示数字、字母或二进制数据,也可以表示汉字。中国制定了PDF417代码的国家标准。二维码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");
    }

测试图像如下:

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

三、解码

点击查看

免责声明:文章转载自《(zxing.net)二维码PDF417的简介、实现与解码》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇services 系统服务的启动、停止、卸载Android上GDB的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java生成与解析二维码

前言: 这周有个项目需要生成二维码,研究了一下使用Google的zxing生成二维码,发现效果还可以,在这里记录下。如果需要更加定制化的二维码,也可接通第三方API服务生成二维码。 一、生成二维码 : @Component("qrcodeHandler") public class QrcodeHandlerImpl implementsQrcodeHan...

Hutool-二维码生成

Hutool工具类生成二维码 示例代码: import cn.hutool.core.io.FileUtil; import cn.hutool.extra.qrcode.QrCodeUtil; import cn.hutool.extra.qrcode.QrConfig; import com.google.zxing.qrcode.decoder.Er...

C#利用QrCode.Net生成二维码

现在网上很多应用都是用二维码来分享网址或者其它的信息。尤其在移动领域,二维码更是有很大的应用场景。因为项目的需要,需要在网站中增加一个生成二维码分析网址的功能,在谷歌大幅度抽筋的情况下无奈使用百度。百度N多,找到一些项目,但是可用性不强。(有一个项目是用VS2005开发的,在2010中调试不开。)终于在codeplex上找到一个“神器”,这个“神器”可以...

小程序入口构造工具&二维码测试工具

小程序入口构造工具&二维码测试工具 本文将介绍我们小程序中隐藏的两个工具页面。原理虽不复杂,收益却实实在在,或许也能给诸君带来启发。 入口构造工具 痛点 PM&运营 投放链接PM&运营每次投放新入口时,都需要找FE要页面链接。投放多少链接就要找FE多少次,一方面相互之间的沟通等待会耗掉不少时间,另一方面询问/回复过程会打断对方手头...

同一个二维码支持多种支付的实现思路

我们在一些商店使用手机支付时会遇到使用支付宝或者微信都只扫一个二维码就能完成付款。 方式一 判断应用类型做相应跳转微信和支付宝融合到一张二维码上是可以实现的,这个二维码就是一个地址链接url实际上是一个支付网页(我们自己网站的页面),支付宝和微信的扫一扫实际上就是在应用内部打开的这个网页。 网页在被打开的时候会判断打开这个网页的应用类型,如果是微...

nodejs qr-image 生成二维码

代码示例: var qr_image = require('qr-image') var fs = require('fs') var temp_qrcode = qr_image.image('https://www.baidu.com', { //设置容错率,L(低), M(中,默认), Q(高), H(最高). ec_level:...