xtrareports-11931-feature-guide-to-devexpress-reports-use-report-controls-use-bar-codes-pdf417.md
PDF417 ( Portable Data File ) is a stacked linear two-dimensional barcode. It is used in different fields, including transport, postal, identification card, and inventory management.
For more information on this symbology, refer to the following article: PDF417.
Drag the XRBarCode item from the DX.25.2: Report Controls tab and drop it onto the report.
Set the XRBarCode control’s Symbology property to PDF417 (an object of the PDF417Generator type).
Specify common barcode properties and properties specific to PDF417.
The following code creates the PDF417 barcode and specifies its properties.
View Example: How to add a bar code to a report
using System;
using System.Collections.Generic;
using System.Drawing.Printing;
using System.Windows.Forms;
using DevExpress.XtraPrinting.BarCode;
using DevExpress.XtraReports.UI;
// ...
public XRBarCode CreatePDF417BarCode(string BarCodeText) {
// Create a barcode control.
XRBarCode barCode = new XRBarCode();
// Set the barcode's type to PDF417.
barCode.Symbology = new PDF417Generator();
// Adjust the barcode's main properties.
barCode.Text = BarCodeText;
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 properties specific to the barcode type.
((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;
return barCode;
}
Imports System
Imports System.Collections.Generic
Imports System.Drawing.Printing
Imports System.Windows.Forms
Imports DevExpress.XtraPrinting.BarCode
Imports DevExpress.XtraReports.UI
' ...
Public Function CreatePDF417BarCode(ByVal BarCodeText As String) As XRBarCode
' Create a barcode control.
Dim barCode As New XRBarCode()
' Set the barcode's type to PDF417.
barCode.Symbology = New PDF417Generator()
' Adjust the barcode's main properties.
barCode.Text = BarCodeText
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 properties specific to the barcode type.
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
Return barCode
End Function
The code example below shows how to create a report with the PDF417 barcode:
using DevExpress.XtraPrinting.BarCode;
using DevExpress.XtraReports.UI;
//...
var barCode = CreatePDF417BarCode("012345678");
var report = new XtraReport() {
Bands = {
new DetailBand() {
Controls = { barCode }
}
}
};
Imports DevExpress.XtraPrinting.BarCode
Imports DevExpress.XtraReports.UI
'...
Private barCode = CreatePDF417BarCode("012345678")
Dim report As New XtraReport()
Dim band = New DetailBand()
band.Controls.Add(barCode)