See Also
Other Platforms
Features
Buy Now
Online Help
Demo
Licensing

Back

How to create local reports RDLC featuring barcode images in ASP.NET

Prerequisites
  • Neodynamic Barcode Professional 3.0 (or greater) for ASP.NET (WebControl)
  • Microsoft .NET Framework 2.0 (or greater)
  • Microsoft Visual Studio 2005 or Visual Web Developer 2005 Express Edition. NOTE: For VWD Express Edition, installing the free add-in for ReportViewer is mandatory.
  • Microsoft SQL Server 2005 (any version) with AdventureWorks Database sample installed
In the following Step-By-Step Guide we're going to create a local report (RDLC file) which features barcoding capabilities by using Barcode Professional for ASP.NET.
Follow these steps:
Using ADO.NET DataTables as data source of my local report
Follow these steps:
  • Add a new DataSet item to the project and name it AdventureWorks.xsd

    Adding a Typed DataSet
    Adding a Typed DataSet


    Click Add button. You will be asked if you want to place the AdventureWorks.xsd file in the App_Code directory. Answer yes.

    After that, the TableAdapter Configuration Wizard is automatically launched so please follow its steps.

    In the first step, please create a connection to the AdventureWorks SQL Server Database sample and click Next. In the second step, choose "Use SQL statements" and click Next. After that, please enter the following SQL Statement:

    SELECT ProductID, Name, ProductModel FROM Production.vProductAndDescription WHERE (CultureID = N'en')


    Specifying a SQL Statement that returns AdventureWorks Product info
    Specifying a SQL Statement that returns AdventureWorks Product info


    Finally click Finish to close the wizard dialog box.
  • After that, add a new custom Column to the DataTable just created and name it Barcode as is shown in the following figure

    Adding a new Column to the DataTable for barcoding purpose
    Adding a new Column to the DataTable for barcoding purpose


  • Change the data type of the Barcode column to System.Byte[] (Array of Byte). NOTE: the System.Byte[] data type is not listed and thus why you must type it manually.

    Setting up the Barcode Column to System.Byte[] data type
    Setting up the Barcode Column to System.Byte[] data type


  • Save the AdventureWorks.xsd file.
  • Now add a new Report item to the project and name it BarcodeReport.rdlc

    Adding a local report (RDLC) to the project
    Adding a local report (RDLC) to the project


  • The data source for the report should look like the following figure. NOTE: You can display Data Sources Window by selecting Data menu and then Show Data Sources (Shift+Alt+D)

    The DataSet is available to be used in the report
    The DataSet is available to be used in the report


  • Please design the report so it looks like the following figure.

    The barcode report layout
    The barcode report layout


    The report features a Table item with 3 columns:

    1º Column: It holds an Image item. Drag & drop an Image item into it and set its properties as is shown in the following figure. Notice that Value property of the Image item is bound to the Barcode column.

    The Image item's properties. The Value property is bound to Barcode Column.
    The Image item's properties. The Value property is bound to Barcode Column.


    2º Column: It holds the Name field

    3º Column: It holds the ProductModel field
  • Save the report.
  • Now Create/Open an ASP.NET WebForm at design time and drag & drop a ReportViewer control onto it. NOTE: DO NOT select any report to display. We'll set up it by code next.
  • After that, from the Solution Explorer, add a reference to Barcode Professional for ASP.NET assembly: Neodynamic.WebControls.Barcodeprofessional.dll
  • Write the following code in the Page_Load event procedure.
    Visual Basic .NET
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
        'Fill the datasource from DB
    
        Dim ta As New AdventureWorksTableAdapters.vProductAndDescriptionTableAdapter()
        Dim dt As New AdventureWorks.vProductAndDescriptionDataTable()
        ta.Fill(dt)
    
        'Create an instance of Barcode Professional
    
        Dim bcp As New Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional()
        'Barcode settings
    
        bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128
        bcp.BarHeight = 0.25F
    
        'Update DataTable with barcode image
    
        Dim row As AdventureWorks.vProductAndDescriptionRow
        
        For Each row In dt.Rows
            'Set the value to encode
    
            bcp.Code = row.ProductID.ToString()
            'Generate the barcode image and store it into the Barcode Column
    
            row.Barcode = bcp.GetBarcodeImage(System.Drawing.Imaging.ImageFormat.Png)
        Next
        
        'Create Report Data Source
    
        Dim rptDataSource As New Microsoft.Reporting.WebForms.ReportDataSource("AdventureWorks_vProductAndDescription", dt)
    
        Me.ReportViewer1.LocalReport.DataSources.Add(rptDataSource)
        Me.ReportViewer1.LocalReport.ReportPath = Server.MapPath("BarcodeReport.rdlc")
        Me.ReportViewer1.LocalReport.Refresh()
    End Sub
    Visual C# .NET
    protected void Page_Load(object sender, EventArgs e)
    {
        //Fill the datasource from DB
        AdventureWorksTableAdapters.vProductAndDescriptionTableAdapter ta = new AdventureWorksTableAdapters.vProductAndDescriptionTableAdapter();
        AdventureWorks.vProductAndDescriptionDataTable dt = new AdventureWorks.vProductAndDescriptionDataTable();
        ta.Fill(dt);
    
        //Create an instance of Barcode Professional
        Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional bcp = new Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional();
        //Barcode settings
        bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128;
        bcp.BarHeight = 0.25f;
    
        //Update DataTable with barcode image
        foreach (AdventureWorks.vProductAndDescriptionRow row in dt.Rows)
        {
            //Set the value to encode
            bcp.Code = row.ProductID.ToString();
            //Generate the barcode image and store it into the Barcode Column
            row.Barcode = bcp.GetBarcodeImage(System.Drawing.Imaging.ImageFormat.Png);
        }
    
        //Create Report Data Source
        Microsoft.Reporting.WebForms.ReportDataSource rptDataSource = new Microsoft.Reporting.WebForms.ReportDataSource("AdventureWorks_vProductAndDescription", dt);
    
        this.ReportViewer1.LocalReport.DataSources.Add(rptDataSource);
        this.ReportViewer1.LocalReport.ReportPath = Server.MapPath("BarcodeReport.rdlc");
        this.ReportViewer1.LocalReport.Refresh();
    }
  • That's it. Run your application. You should get the barcode images displayed on the report.


    The local report featuring barcodes generated by Barcode Professional
    The local report featuring barcodes generated by Barcode Professional


    ReportViewer control lets you to export the displayed report to Acrobat PDF as well as Microsoft Excel XLS. In both cases the barcode images are maintained.


    The local report in Acrobat PDF format featuring barcodes generated by Barcode Professional
    The local report featuring barcodes generated by Barcode Professional


    TIP: How to export to Acrobat PDF the Local Report with Barcode images without Preview
    The following walkthrough shows how to programmatically export a local report to PDF without viewing it.
    Follow these steps:
    • Add a new ASP.NET WebForm to the project and drag & drop a Button control onto it.
    • Be sure your project is referencing the following assemblies:

      Microsoft.ReportViewer.Common.dll
      Microsoft.ReportViewer.WebForms.dll
      Neodynamic.WebControls.BarcodeProfessional.dll
    • Double click on the Button control and write the following code in the Button1_Click event procedure.
      Visual Basic .NET
      Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Button1.Click
      
          'Fill the datasource from DB
      
          Dim ta As New AdventureWorksTableAdapters.vProductAndDescriptionTableAdapter()
          Dim dt As New AdventureWorks.vProductAndDescriptionDataTable()
          ta.Fill(dt)
      
          'Create an instance of Barcode Professional
      
          Dim bcp As New Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional()
          'Barcode settings
      
          bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128
          bcp.BarHeight = 0.25F
      
          'Update DataTable with barcode image
      
          Dim row As AdventureWorks.vProductAndDescriptionRow
          
          For Each row In dt.Rows
              'Set the value to encode
      
              bcp.Code = row.ProductID.ToString()
              'Generate the barcode image and store it into the Barcode Column
      
              row.Barcode = bcp.GetBarcodeImage(System.Drawing.Imaging.ImageFormat.Png)
          Next
          
          'Create ReportViewer
      
          Dim viewer As New Microsoft.Reporting.WebForms.ReportViewer()
          
          'Create Report Data Source
      
          Dim rptDataSource As New Microsoft.Reporting.WebForms.ReportDataSource("AdventureWorks_vProductAndDescription", dt)
      
          viewer.LocalReport.DataSources.Add(rptDataSource)
          viewer.LocalReport.ReportPath = Server.MapPath("BarcodeReport.rdlc")
      
          'Export to PDF
      
          Dim pdfContent As Byte() = viewer.LocalReport.Render("PDF", Nothing, Nothing, Nothing, Nothing, Nothing, Nothing)
      
          'Return PDF
      
          Me.Response.Clear()
          Me.Response.ContentType = "application/pdf"
          Me.Response.AddHeader("Content-disposition", "attachment; filename=BarcodeReport.pdf")
          Me.Response.BinaryWrite(pdfContent)
          Me.Response.End()
      
      End Sub
      Visual C# .NET
      protected void button1_Click(object sender, EventArgs e)
      {
          //Fill the datasource from DB
          AdventureWorksTableAdapters.vProductAndDescriptionTableAdapter ta = new AdventureWorksTableAdapters.vProductAndDescriptionTableAdapter();
          AdventureWorks.vProductAndDescriptionDataTable dt = new AdventureWorks.vProductAndDescriptionDataTable();
          ta.Fill(dt);
      
          //Create an instance of Barcode Professional
          Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional bcp = new Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional();
          //Barcode settings
          bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128;
          bcp.BarHeight = 0.25f;
      
          //Update DataTable with barcode image
          foreach (AdventureWorks.vProductAndDescriptionRow row in dt.Rows)
          {
              //Set the value to encode
              bcp.Code = row.ProductID.ToString();
              //Generate the barcode image and store it into the Barcode Column
              row.Barcode = bcp.GetBarcodeImage(System.Drawing.Imaging.ImageFormat.Png);
          }
      
          //Create ReportViewer
          Microsoft.Reporting.WebForms.ReportViewer viewer = new Microsoft.Reporting.WebForms.ReportViewer();
          
          //Create Report Data Source
          Microsoft.Reporting.WebForms.ReportDataSource rptDataSource = new Microsoft.Reporting.WebForms.ReportDataSource("AdventureWorks_vProductAndDescription", dt);
      
          viewer.LocalReport.DataSources.Add(rptDataSource);
          viewer.LocalReport.ReportPath = Server.MapPath("BarcodeReport.rdlc");
      
          //Export to PDF
          string mimeType;
          string encoding;
          string fileNameExtension;
          string[] streams;
          Microsoft.Reporting.WebForms.Warning[] warnings;
      
          byte[] pdfContent = viewer.LocalReport.Render("PDF", null, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
      
          //Return PDF
          this.Response.Clear();
          this.Response.ContentType = "application/pdf";
          this.Response.AddHeader("Content-disposition", "attachment; filename=BarcodeReport.pdf");
          this.Response.BinaryWrite(pdfContent);
          this.Response.End();
      }
    • That's it. Run your project opening the last WebForm and click on the button to generate the PDF version for the barcode report.

      The local report featuring barcodes exported to PDF format without previewing it onto the ASP.NET WebForm
      The local report featuring barcodes exported to PDF format without previewing it onto the ASP.NET WebForm


Using Custom Objects as data source of my local report
You can design local reports (RDLC) based on business objects defined in your application. In this scenario, an object data source is simply a collection of arbitrary objects. In this guide, we'll define a custom object with barcoding support that will be used as data source for our report.
Follow these steps:
  • Add a new class item to the project and name it Product.

    Adding a Product Class item
    Adding a Product Class item


    You will be asked if you want to place the class file in the App_Code directory. Answer yes.

    The Product class will feature basic info about products such is ID and Name as well as a special property called Barcode which will hold the barcode image for each product object.

    Please write the following Product class definition:
    Visual Basic .NET
    Public Class Product
    
        Dim m_id As String
        Dim m_name As String
        Dim m_barcode As Byte()
    
        Public Sub New(ByVal id As String, ByVal name As String, ByVal barcode As Byte())
            m_id = id
            m_name = name
            m_barcode = barcode
        End Sub
    
        Public Property Id() As String
            Get
                Return m_id
            End Get
            Set(ByVal value As String)
                m_id = value
            End Set
        End Property
    
        Public Property Name() As String
            Get
                Return m_name
            End Get
            Set(ByVal value As String)
                m_name = value
            End Set
        End Property
    
        Public Property Barcode() As Byte()
            Get
                Return m_barcode
            End Get
            Set(ByVal value As Byte())
                m_barcode = value
            End Set
        End Property
    
    End Class
    Visual C# .NET
    public class Product
    {
        string m_id;
        string m_name;
        byte[] m_barcode;
    
        public Product(string id, string name, byte[] barcode)
        {
            m_id = id;
            m_name = name;
            m_barcode = barcode;        
        }
    
        public string Id
        {
            get
            {
                return m_id;            
            }
            set
            {
                m_id = value;
            }
        }
    
        public string Name
        {
            get
            {
                return m_name;
            }
            set
            {
                m_name = value;
            }
        }
    
        public byte[] Barcode
        {
            get
            {
                return m_barcode;
            }
            set
            {
                m_barcode = value;
            }
        }
    }
  • Add another new class item to the project and name it Catalog. This new class Catalog will be used as the object data source for our report. NOTE: In order for a class to qualify as an object data source, there should be a "Select method" that returns a collection of objects of the involved class and thus why we'll create this Catalog class.

    Adding a Catalog Class item
    Adding a Catalog Class item


    You will be asked if you want to place the class file in the App_Code directory. Answer yes.

    The Catalog class will allow us to add Product objects and features a "Select method" called GetProducts which returns a strongly typed collection of Product objects.

    Please write the following Catalog class definition:
    Visual Basic .NET
    Public Class Catalog
    
        Dim m_products As System.Collections.Generic.List(Of Product)
    
        Public Sub New()
            m_products = New System.Collections.Generic.List(Of Product)
        End Sub
    
        Public Sub AddProduct(ByVal product As Product)
            m_products.Add(product)
        End Sub
    
        Public Function GetProducts() As System.Collections.Generic.List(Of Product)
            Return m_products
        End Function
    
    End Class
    Visual C# .NET
    public class Catalog
    {
        private System.Collections.Generic.List<Product> m_products;
    
    	public Catalog()
    	{
            m_products = new System.Collections.Generic.List<Product>();
    	}
    
        public void AddProduct(Product product)
        {
            m_products.Add(product);
        }
    
        public System.Collections.Generic.List<Product> GetProducts()
        {
            return m_products;
        }
    }
  • Save the class file and go to Build menu and click on Build Solution
  • Now add a new Report item to the project and name it BarcodeReport.rdlc

    Adding a local report (RDLC) to the project
    Adding a local report (RDLC) to the project


  • The data source for the report should look like the following figure. NOTE: You can display Data Sources Window by selecting Data menu and then Show Data Sources (Shift+Alt+D)

    The object data source is available to be used in the report
    The object data source is available to be used in the report


  • Please design the report so it looks like the following figure.

    The barcode report layout
    The barcode report layout


    The report features a Table item with 3 columns:

    1º Column: It holds an Image item. Drag & drop an Image item into it and set its properties as is shown in the following figure. Notice that Value property of the Image item is bound to the Barcode column.

    The Image item's properties. The Value property is bound to Barcode Column.
    The Image item's properties. The Value property is bound to Barcode Column.


    2º Column: It holds the Name field

    3º Column: It holds the Id field
  • Save the report.
  • Create/Open an ASP.NET WebForm at design time and drag & drop a ReportViewer control. NOTE: DO NOT select any report to display. We'll set up it by code next.
  • After that, from the Solution Explorer, add a reference to Barcode Professional for ASP.NET assembly: Neodynamic.WebControls.Barcodeprofessional.dll
  • Write the following code in the Page_Load event procedure.
    Visual Basic .NET
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
        'Create an instance of Barcode Professional
    
        Dim bcp As New Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional()
        'Barcode settings
    
        bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128
        bcp.BarHeight = 0.25F
    
        'Fill the object datasource. 
        'NOTE: You may connect to a SQL Server Database and create Product objects based on data returned from such source.
    
        Dim data As New Catalog()
    
        'Create random product info
    
        Dim prodId As String
        Dim prodName As String
        Dim prodBarcode As Byte()
        Dim i As Integer	
    
        For i = 1 To 10
            'Random product info
    
            prodId = Guid.NewGuid().ToString().Substring(0, 10)
            prodName = "Product " + prodId
            'Set the value to encode
    
            bcp.Code = prodId
            'Generate the barcode image and store it into the Barcode Column
    
            prodBarcode = bcp.GetBarcodeImage(System.Drawing.Imaging.ImageFormat.Png)
    
            'Add new product
    
            data.AddProduct(New Product(prodId, prodName, prodBarcode))
        Next
    
        'Create Report Data Source
    
        Dim rptDataSource As New Microsoft.Reporting.WebForms.ReportDataSource("Product", data.GetProducts())
    
        Me.ReportViewer1.LocalReport.DataSources.Add(rptDataSource)
        Me.ReportViewer1.LocalReport.ReportPath = Server.MapPath("BarcodeReport.rdlc")
        Me.ReportViewer1.LocalReport.Refresh()
    End Sub
    Visual C# .NET
    protected void Page_Load(object sender, EventArgs e)
    {
        //Create an instance of Barcode Professional
        Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional bcp = new Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional();
        //Barcode settings
        bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128;
        bcp.BarHeight = 0.25f;
    
        //Fill the object datasource. 
        //NOTE: You may connect to a SQL Server Database and create Product objects based on data returned from such source.
        Catalog data = new Catalog();
    
        //Create random product info
        string prodId;
        string prodName;
        byte[] prodBarcode;
    
        for (int i = 0; i < 10; i++)
        {
            //Random product info
            prodId = Guid.NewGuid().ToString().Substring(0, 10);
            prodName = "Product " + prodId;
            //Set the value to encode
            bcp.Code = prodId;
            //Generate the barcode image and store it into the Barcode Column
            prodBarcode = bcp.GetBarcodeImage(System.Drawing.Imaging.ImageFormat.Png);
    
            //Add new product
             data.AddProduct(new Product(prodId, prodName, prodBarcode));
        }
    
    
        //Create Report Data Source
        Microsoft.Reporting.WebForms.ReportDataSource rptDataSource = new Microsoft.Reporting.WebForms.ReportDataSource("Product", data.GetProducts());
    
        this.ReportViewer1.LocalReport.DataSources.Add(rptDataSource);
        this.ReportViewer1.LocalReport.ReportPath = Server.MapPath("BarcodeReport.rdlc");
        this.ReportViewer1.LocalReport.Refresh();
    }
  • That's it. Run your application. You should get the barcode images displayed on the report.


    The local report featuring barcodes generated by Barcode Professional
    The local report featuring barcodes generated by Barcode Professional


    ReportViewer control lets you to export the displayed report to Acrobat PDF as well as Microsoft Excel XLS. In both cases the barcode images are maintained.


    The local report in Acrobat PDF format featuring barcodes generated by Barcode Professional
    The local report in Acrobat PDF format featuring barcodes generated by Barcode Professional


    TIP: How to export to Acrobat PDF the Local Report with Barcode images without Preview
    The following walkthrough shows how to programmatically export a local report to PDF without viewing it.
    • Add a new ASP.NET WebForm to the project and drag & drop a Button control onto it.
    • Be sure your project is referencing the following assemblies:

      Microsoft.ReportViewer.Common.dll
      Microsoft.ReportViewer.WebForms.dll
      Neodynamic.WebControls.BarcodeProfessional.dll
    • Double click on the Button control and write the following code in the Button1_Click event procedure.
      Visual Basic .NET
      Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Button1.Click
      
          'Create an instance of Barcode Professional
      
          Dim bcp As New Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional()
          'Barcode settings
      
          bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128
          bcp.BarHeight = 0.25F
      
          'Fill the object datasource. 
          'NOTE: You may connect to a SQL Server Database and create Product objects based on data returned from such source.
      
          Dim data As New Catalog()
      
          'Create random product info
      
          Dim prodId As String
          Dim prodName As String
          Dim prodBarcode As Byte()
          Dim i As Integer	
      
          For i = 1 To 10
              'Random product info
      
              prodId = Guid.NewGuid().ToString().Substring(0, 10)
              prodName = "Product " + prodId
              'Set the value to encode
      
              bcp.Code = prodId
              'Generate the barcode image and store it into the Barcode Column
      
              prodBarcode = bcp.GetBarcodeImage(System.Drawing.Imaging.ImageFormat.Png)
      
              'Add new product
      
              data.AddProduct(New Product(prodId, prodName, prodBarcode))
          Next
      
          'Create ReportViewer
      
          Dim viewer As New Microsoft.Reporting.WebForms.ReportViewer()
      
          'Create Report Data Source
      
          Dim rptDataSource As New Microsoft.Reporting.WebForms.ReportDataSource("Product", data.GetProducts())
      
          viewer.LocalReport.DataSources.Add(rptDataSource)
          viewer.LocalReport.ReportPath = Server.MapPath("BarcodeReport.rdlc")
      
          'Export to PDF
      
          Dim pdfContent As Byte() = viewer.LocalReport.Render("PDF", Nothing, Nothing, Nothing, Nothing, Nothing, Nothing)
      
          'Return PDF
      
          Me.Response.Clear()
          Me.Response.ContentType = "application/pdf"
          Me.Response.AddHeader("Content-disposition", "attachment; filename=BarcodeReport.pdf")
          Me.Response.BinaryWrite(pdfContent)
          Me.Response.End()
      End Sub
      Visual C# .NET
      private void button1_Click(object sender, EventArgs e)
      {
          //Create an instance of Barcode Professional
          Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional bcp = new Neodynamic.WebControls.BarcodeProfessional.BarcodeProfessional();
          //Barcode settings
          bcp.Symbology = Neodynamic.WebControls.BarcodeProfessional.Symbology.Code128;
          bcp.BarHeight = 0.25f;
      
          //Fill the object datasource. 
          //NOTE: You may connect to a SQL Server Database and create Product objects based on data returned from such source.
          Catalog data = new Catalog();
      
          //Create random product info
          string prodId;
          string prodName;
          byte[] prodBarcode;
      
          for (int i = 0; i < 10; i++)
          {
              //Random product info
              prodId = Guid.NewGuid().ToString().Substring(0, 10);
              prodName = "Product " + prodId;
              //Set the value to encode
              bcp.Code = prodId;
              //Generate the barcode image and store it into the Barcode Column
              prodBarcode = bcp.GetBarcodeImage(System.Drawing.Imaging.ImageFormat.Png);
      
              //Add new product
              data.AddProduct(new Product(prodId, prodName, prodBarcode));
          }
      
          //Create ReportViewer
          Microsoft.Reporting.WebForms.ReportViewer viewer = new Microsoft.Reporting.WebForms.ReportViewer();
      
          //Create Report Data Source
          Microsoft.Reporting.WebForms.ReportDataSource rptDataSource = new Microsoft.Reporting.WebForms.ReportDataSource("Product", data.GetProducts());
      
          viewer.LocalReport.DataSources.Add(rptDataSource);
          viewer.LocalReport.ReportPath = Server.MapPath("BarcodeReport.rdlc");
      
          //Export to PDF
          string mimeType;
          string encoding;
          string fileNameExtension;
          string[] streams;
          Microsoft.Reporting.WebForms.Warning[] warnings;
      
          byte[] pdfContent = viewer.LocalReport.Render("PDF", null, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
      
          //Return PDF
          this.Response.Clear();
          this.Response.ContentType = "application/pdf";
          this.Response.AddHeader("Content-disposition", "attachment; filename=BarcodeReport.pdf");
          this.Response.BinaryWrite(pdfContent);
          this.Response.End();
      }
    • That's it. Run your project opening the last WebForm and click on the button to generate the PDF version for the barcode report.

      The local report featuring barcodes exported to PDF format without previewing it onto the ASP.NET WebForm
      The local report featuring barcodes exported to PDF format without previewing it onto the ASP.NET WebForm


If you need more information or assistance, please contact our .
 Copyright © 2003 - 2009 Neodynamic S.R.L. All rights reserved.