Default.aspx.cs
using Bytescout.BarCodeReader;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ImagePDFBarcodeToCSV
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnImagePDFBarcodeToCSV_Click(object sender, EventArgs e)
{
//Read Barcode Process
Reader reader = new Reader();
reader.RegistrationKey = "demo";
reader.RegistrationName = "demo";
// Set Barcode type to find
reader.BarcodeTypesToFind.All = true;
// Output list
List<CSVOutputFormat> lstCSVOutput = new List<CSVOutputFormat>();
// Get all files in folder, and iterate through each file
var files = System.IO.Directory.GetFiles(Request.MapPath("~/BarcodeFiles"));
foreach (var fileName in files)
{
// Read barcodes
FoundBarcode[] barcodes = reader.ReadFrom(fileName);
foreach (FoundBarcode code in barcodes)
{
lstCSVOutput.Add(new CSVOutputFormat { barcodeValue = code.Value, barcodeType = code.Type.ToString(), scanDateTime = DateTime.Now.ToString(), fileName = fileName });
}
}
// Set info text
lblInfo.Text = string.Format("Total {0} barcode found in {1} file.", lstCSVOutput.Count, files.Length);
// Export to CSV
ExportToCsv(lstCSVOutput, Response);
}
/// <summary>
/// Exports to CSV
/// </summary>
/// <param name="lstCSVOutput"></param>
private static void ExportToCsv(List<CSVOutputFormat> lstCSVOutput, HttpResponse response)
{
System.Text.StringBuilder csvOutputContent = new System.Text.StringBuilder(string.Empty);
csvOutputContent.Append("Barcode Value,Barcode Type,Scan DateTime,File Name");
foreach (var item in lstCSVOutput)
{
csvOutputContent.AppendFormat("\r\n{0},{1},{2},{3}", item.barcodeValue, item.barcodeType, item.scanDateTime, item.fileName);
}
// Perform download of file
response.Clear();
response.ClearHeaders();
response.AppendHeader("Content-Length", csvOutputContent.Length.ToString());
response.ContentType = "text/csv";
response.AppendHeader("Content-Disposition", "attachment;filename=\"output.csv\"");
response.Write(csvOutputContent.ToString());
response.End();
}
}
class CSVOutputFormat
{
public string barcodeValue { get; set; }
public string barcodeType { get; set; }
public string scanDateTime { get; set; }
public string fileName { get; set; }
}
}
Web.config
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
Click here to get your Free Trial version of the SDK
also available as: