Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Este tutorial demostrará cómo escanear códigos QR y códigos de barras en Aplicaciones de Consola C# y Aplicaciones .NET Windows Forms, utilizando la librería IronBarcode como ejemplo.
Utilizando la biblioteca IronBarcode, se pueden escanear y leer simultáneamente varios códigos de barras, y también puede escanear con éxito imágenes imperfectas. Aclaremos primero qué es un lector de códigos de barras.
Un código de barras es una imagen cuadrada o rectangular formada por una serie de líneas negras paralelas y espacios blancos de anchura variable. Un escáner de códigos de barras o lector de códigos de barras es un dispositivo que puede leer códigos de barras impresos, descodificar los datos contenidos en el código de barras y enviarlos a un ordenador.
Los siguientes pasos le mostrarán cómo crear un escáner de código de barras con la ayuda de la librería IronBarcode.
Abra Visual Studio > Haga clic en Crear nuevo proyecto > Seleccione Plantilla de aplicación Windows Forms > Pulse Siguiente > Asigne un nombre al proyecto > Pulse Siguiente > Seleccione su .NET Framework de destino > Haga clic en el botón Crear.
Después de crear el proyecto, diseñe el formulario de la siguiente manera desde la caja de herramientas de Visual Studio: Controles PictureBox, Label, TextBox y Button.
**Escáner de código de barras
La Biblioteca de códigos de barras puede instalarse utilizando uno de los tres métodos siguientes:
Escriba el siguiente comando en la consola del gestor de paquetes. Descargará e instalará el paquete por ti.
Install-Package BarCode
También puede instalar la biblioteca de códigos de barras mediante la solución de paquetes NuGet. Sólo tienes que seguir estos pasos:
Haga clic en Herramientas > Administrador de paquetes NuGet > Administrar paquetes NuGet para la solución.
Esto abrirá NuGet Package Manager para usted. Haga clic en Examinar y busque Código de barras; a continuación, instale la biblioteca de clases.
Como alternativa, elIronBarCode.Dll puede descargarse y añadirse a su proyecto como referencia.
Tras la descarga, añada las siguientes referencias a su proyecto de lector de códigos de barras.
using IronBarCode;
using IronBarCode;
Imports IronBarCode
Leer un código de barras o un código QR en .NET es increíblemente fácil utilizando la biblioteca IronBarcode conLector de códigos de barras .NET.
Busque en su proyecto la imagen que desea leer. Se abrirá en PictureBox
; ahora haga clic en "escanear código". El texto aparecerá en el cuadro de texto.
Este es el código del botón "Examinar" para abrir una imagen:
// open file dialog
OpenFileDialog open = new OpenFileDialog();
// image filters
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)
*.jpg;*.png;*.jpeg;*.gif;*.bmp";
if (open.ShowDialog() == DialogResult.OK) {
// display image in picture box
pictureBox1.Image = new Bitmap(open.FileName);
// store image file path in class data member. Initialize it as string ImageFileName;
ImageFileName = open.FileName;
}
// open file dialog
OpenFileDialog open = new OpenFileDialog();
// image filters
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)
*.jpg;*.png;*.jpeg;*.gif;*.bmp";
if (open.ShowDialog() == DialogResult.OK) {
// display image in picture box
pictureBox1.Image = new Bitmap(open.FileName);
// store image file path in class data member. Initialize it as string ImageFileName;
ImageFileName = open.FileName;
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
El código del botón "escanear código":
BarcodeResult Result = BarcodeReader.Read(ImageFileName);
textBox1.Text = Result.Text;
BarcodeResult Result = BarcodeReader.Read(ImageFileName);
textBox1.Text = Result.Text;
Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName)
textBox1.Text = Result.Text
El lector de códigos de barras muestra los datos del código de barras en el cuadro de texto de la siguiente manera:
Imagen de código de barras para escanear con C#
En esta sección, la librería IronBarcode maneja eficazmente situaciones del mundo real que implican códigos QR sesgados. Aunque el código QR de ángulo oblicuo puede ser manejado y leído por elLeer
sin embargo, puede tardar más tiempo en resolverse. La biblioteca IronBarcode proporciona una forma personalizada de utilizarBarcodeReaderOptions
(Opciones del lector de códigos de barras) como parámetro adicional para tratar este tipo de entrada de imágenes. El código es el siguiente:
// Choose which filters are to be applied (in order);
var filtersToApply = new ImageFilterCollection() {
new SharpenFilter(),
new InvertFilter(),
new ContrastFilter(),
new BrightnessFilter(),
new AdaptiveThresholdFilter(),
new BinaryThresholdFilter()
};
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
// Set chosen filters in BarcodeReaderOptions:
ImageFilters = filtersToApply,
ExpectBarcodeTypes = BarcodeEncoding.QRCode
BarcodeEncoding.Code128,
};
BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample);
textBox1.Text = Result.Text;
// Choose which filters are to be applied (in order);
var filtersToApply = new ImageFilterCollection() {
new SharpenFilter(),
new InvertFilter(),
new ContrastFilter(),
new BrightnessFilter(),
new AdaptiveThresholdFilter(),
new BinaryThresholdFilter()
};
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
// Set chosen filters in BarcodeReaderOptions:
ImageFilters = filtersToApply,
ExpectBarcodeTypes = BarcodeEncoding.QRCode
BarcodeEncoding.Code128,
};
BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample);
textBox1.Text = Result.Text;
IRON VB CONVERTER ERROR developers@ironsoftware.com
La salida será la siguiente después de abrir la imagen del código QR sesgado:
Imagen QrCode torcida
Las imágenes de códigos de barras pueden escanearse desde un archivo PDF y cada resultado puede mostrarse adecuadamente según se desee. El siguiente código de ejemplo permite leer varios códigos de barras de un archivo PDF.
// Multiple barcodes may be scanned up from a single document or image. A PDF document may also used as the input
imagePagedBarcodeResult [] PDFResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results
foreach (var PageResult in PDFResults) {
string Value = PageResult.Value;
int PageNum = PageResult.PageNumber;
System.Drawing.Bitmap Img = PageResult.BarcodeImage;
BarcodeEncoding BarcodeType = PageResult.BarcodeType;
byte [] Binary = PageResult.BinaryValue;
Console.WriteLine(PageResult.Value + " on page " + PageNum);
}
// Multiple barcodes may be scanned up from a single document or image. A PDF document may also used as the input
imagePagedBarcodeResult [] PDFResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results
foreach (var PageResult in PDFResults) {
string Value = PageResult.Value;
int PageNum = PageResult.PageNumber;
System.Drawing.Bitmap Img = PageResult.BarcodeImage;
BarcodeEncoding BarcodeType = PageResult.BarcodeType;
byte [] Binary = PageResult.BinaryValue;
Console.WriteLine(PageResult.Value + " on page " + PageNum);
}
' Multiple barcodes may be scanned up from a single document or image. A PDF document may also used as the input
Dim PDFResults() As imagePagedBarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")
' Work with the results
For Each PageResult In PDFResults
Dim Value As String = PageResult.Value
Dim PageNum As Integer = PageResult.PageNumber
Dim Img As System.Drawing.Bitmap = PageResult.BarcodeImage
Dim BarcodeType As BarcodeEncoding = PageResult.BarcodeType
Dim Binary() As Byte = PageResult.BinaryValue
Console.WriteLine(PageResult.Value & " on page " & PageNum)
Next PageResult
Código de barras y código QR presentes en archivos PDF:
C# - Lectura de códigos de barras de un PDF
En casos de uso en el mundo real, los códigos de barras se encuentran a menudo con imperfecciones en imágenes, escaneados, miniaturas o fotografías, y pueden contener ruido digital o estar sesgados. Esta sección muestra cómo leer datos de códigos de barras a partir de miniaturas.
La librería IronBarcode utiliza elGenerador de códigos de barras C#que es capaz incluso de leer una miniatura corrupta de un código de barras.
Corrección automática del tamaño de las miniaturas de los códigos de barras. Archivo legible mediante IronBarcode en C#
Detecta automáticamente las imágenes de códigos de barras que son demasiado pequeñas para representar razonablemente un código de barras real y, a continuación, las amplía y limpia de todo el ruido digital asociado a las miniaturas, lo que permite que vuelvan a ser legibles.
// Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif");
// Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif");
' Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
Dim SmallResult As BarcodeResult = BarcodeReader.Read("ThumbnailOfBarcode.gif")
IronBarcode es una biblioteca de software .NET versátil yGenerador de códigos QR C# para escanear y leer una amplia gama de formatos de imagen de códigos de barras, y puede hacerlo tanto si estos códigos de barras son capturas de pantalla perfectas como si son de hecho fotografías, escaneos u otros.imágenes imperfectas del mundo real. Además, IronBarcode ofrece una amplia gama de opciones de personalización para mejorar la velocidad de lectura de códigos de barras, tales comoregiones de cultivo omultihiloyla precisión del modelo ML. Visitela página de los documentos oficiales para obtener más información sobre IronBarcode.
Actualmente, si comprala Iron Suite completapuede obtener cinco bibliotecas por el precio de sólo dos.
9 productos API .NET para sus documentos de oficina