本主题阐述了如何把 PDF417 码制 (编码类型) 的条形码控件插入到报表中。 另外还简要说明了 PDF417 编码类型。 要学习更多关于 XtraReports 的条形码的内容,请参阅 条形码概述 主题。
简要说明
PDF417 (可携式数据文件) 是堆叠式线性二维条形码,用于多种应用程序中; 主要用于运输、邮政、身份证和库存管理。 它由 Symbol Technologies 的王寅敬(音) 在 1991 年发明,并已经产生一个开源译码器项目和一个开源编码器项目。 PDF417 条形码也被称为 symbol 条形码,通常由 3 至 90 行组成,每行都像小型的线性条形码。 要获得更多相关信息,请参阅它的 官方规范 网页。
条形码的属性
应设置下列属性,来指定 PDF417 类型的特殊条形码:
- XRBarCode.AutoModule - 此属性确定 XRBarCode.Module 属性值是否应根据条形码的尺寸被自动计算。
- PDF417Generator.Columns - 此属性确定条形码的列数,允许控制条形码的逻辑宽度。
- PDF417Generator.CompactionMode - 此属性允许选择原义(textual) 信息或字节数组是否应被编码。
- PDF417Generator.ErrorCorrectionLevel - 此属性确定编码中构建的冗余量,用于校正计算错误。 校正系统基于“Reed Solomon”代码。
- PDF417Generator.Rows - 此属性确定条形码的行数,允许控制条形码的逻辑高度。
- PDF417Generator.TruncateSymbol - 此属性允许选择是否绘制特殊的“终止符”。
- PDF417Generator.YToXRatio - 此属性确定逻辑单元图形呈现的高宽比率。
示例
这个示例展示了如何创建一个 PDF417 条形码,并设置它的基本属性。
C# | 复制代码 |
---|---|
using System; using System.Windows.Forms; using DevExpress.XtraReports.UI; using DevExpress.XtraPrinting.BarCode; // ... private void button1_Click(object sender, EventArgs e) { XtraReport1 report = new XtraReport1(); // Create a barcode control. XRBarCode barcode = new XRBarCode(); // Set the barcode's type to PDF417. barcode.Symbology = new PDF417Generator(); // Adjust the PDF417 barcode's main properties. barcode.Text = "0123456789"; barcode.Width = 400; barcode.Height = 150; // If the AutoModule property is set to false, // uncomment the next line. barcode.AutoModule = true; //barcode.Module = 3; // Adjust the PDF417 barcode's specific properties. ((PDF417Generator)barcode.Symbology).Columns = 1; ((PDF417Generator)barcode.Symbology).CompactionMode = PDF417CompactionMode.Text; ((PDF417Generator)barcode.Symbology).ErrorCorrectionLevel = ErrorCorrectionLevel.Level2; ((PDF417Generator)barcode.Symbology).Rows = 9; ((PDF417Generator)barcode.Symbology).TruncateSymbol = false; ((PDF417Generator)barcode.Symbology).YToXRatio = 3; report.Detail.Controls.Add(barcode); report.ShowPreview(); } |
Visual Basic | 复制代码 |
---|---|
Imports System Imports System.Windows.Forms Imports DevExpress.XtraReports.UI Imports DevExpress.XtraPrinting.BarCode ' ... Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _ Handles button1.Click Dim report As New XtraReport1() ' Create a barcode control. Dim barcode As New XRBarCode() ' Set the barcode's type to PDF417. barcode.Symbology = New PDF417Generator() ' Adjust the PDF417 barcode's main properties. barcode.Text = "0123456789" barcode.Width = 400 barcode.Height = 150 ' If the AutoModule property is set to false, ' uncomment the next line. barcode.AutoModule = True 'barcode.Module = 3 ' Adjust the PDF417 barcode's specific properties. CType(barcode.Symbology, PDF417Generator).Columns = 1 CType(barcode.Symbology, PDF417Generator).CompactionMode = PDF417CompactionMode.Text CType(barcode.Symbology, PDF417Generator).ErrorCorrectionLevel = ErrorCorrectionLevel.Level2 CType(barcode.Symbology, PDF417Generator).Rows = 9 CType(barcode.Symbology, PDF417Generator).TruncateSymbol = False CType(barcode.Symbology, PDF417Generator).YToXRatio = 3 report.Detail.Controls.Add(barcode) report.ShowPreview() End Sub |