Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Un código de barras es un tipo de etiqueta que codifica información sobre el artículo al que se adhiere. Comienza con un patrón de barras negras y espacios, normalmente bastante anchos, que representan números. Los códigos de barras simplifican el proceso de recogida y análisis de datos, que suele ser largo y difícil. Una máquina puede escanearlos rápida y fácilmente, lo que reduce los errores y disminuye los costes. Algunas de sus aplicaciones son la gestión de inventarios, el control de calidad y la gestión de la cadena de suministro. En estos casos, han demostrado ser herramientas eficaces para diferenciar los niveles de los productos o realizar su seguimiento a lo largo de grandes distancias hasta su destino final.
Existen dos sistemas de codificación que se utilizan junto con los códigos de barras. Se denominan Consejo del Código Uniforme (UPC) y la Organización Internacional de Normalización (ISO). Los códigos UPC se diseñaron para proporcionar una representación de los artículos o productos vendidos en los puntos de venta al por menor. El UPC es un código de 12 dígitos que se desglosa en 6, 10 o 13 dígitos. También hay 2 dígitos de control finales que se utilizan para corregir errores. Al escanearlo, los cinco primeros dígitos representan la empresa para la que se fabricó y el producto dentro de la línea de esa empresa. El último número identifica el producto o artículo específico que se escanea por su código de barras legible por máquina. El código ISO fue desarrollado originalmente por empresas que comercian internacionalmente, y principalmente como representación de un número de artículo en lugar de un artículo en sí.
En este artículo, vamos a comparar dos bibliotecas de código de barras populares:
IronBarcode
Ambas bibliotecas pueden utilizarse para generar y reconocer códigos de barras. Ofrecen compatibilidad con todos los marcos de trabajo dot net y permiten guardar las imágenes de los códigos de barras.
Lector de códigos de barras
Clase CBarcodelib para .NET es un conjunto de componentes generadores de códigos de barras .NET diseñados para la generación de códigos de barras en aplicaciones ASP.NET, .NET class, Console, Windows Forms, Microsoft Reporting Service, Crystal Reports para .NET y Client RDlC Reports.
IronBarcode for .NET permite a los programadores leer y escribir códigos de barras y códigos QR desde aplicaciones y sitios web .NET. IronBarcode sólo requiere una línea de código para leer o escribir códigos de barras. La mayoría de los estándares de códigos de barras y QR pueden leerse y escribirse utilizando la biblioteca de códigos de barras.NET. Código 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14 / Expandido, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS y QR son algunos de los más comunes. Los archivos de tipo, texto, datos binarios, página e imagen se incluyen en los datos resultantes del código de barras. A continuación se indican las funciones de la API de códigos de barras:
Abra Visual Studio y vaya al menú Archivo. Seleccione nuevo proyecto y, a continuación, seleccione Aplicación de consola/Windows Forms/Aplicación WPF. IronBarcode puede utilizarse en todo tipo de aplicaciones. Además, puede utilizar aplicaciones como Webform/MVC/MVC Core.
Introduzca el nombre del proyecto y seleccione la ruta del archivo en el cuadro de texto correspondiente. A continuación, haga clic en el botón Crear y seleccione el .NET Framework necesario. Ahora se generará el proyecto con la estructura para la aplicación seleccionada y, si ha seleccionado la aplicación de consola, se abrirá el archivo program.cs donde podrá introducir el código y construir/ejecutar la aplicación.
La librería IronBarcode puede descargarse e instalarse de cuatro formas:
Estos son:
El software Visual Studio ofrece la opción del gestor de paquetes NuGet para instalar el paquete directamente en la solución. La siguiente captura de pantalla muestra cómo abrir el Gestor de paquetes NuGet.
Proporciona el cuadro de búsqueda para mostrar la lista de los paquetes del sitio web de NuGet. En el gestor de paquetes, tenemos que buscar la palabra clave "Barcode", como en la siguiente captura de pantalla:
De la imagen anterior, obtendremos la lista de los resultados de búsqueda relacionados. Debemos seleccionar la opción necesaria para instalar el paquete en la solución.
En las herramientas de Visual Studio, vaya a Herramientas-> Gestor de paquetes NuGet -> Consola del gestor de paquetes
Introduzca la siguiente línea en la pestaña de la consola:
Install-Package BarCode
Ahora el paquete se descargará/instalará en el proyecto actual y estará listo para su uso.
La tercera forma es descargar el paquete directamente del sitio web.
Haga clic en el botón enlace para descargar el último paquete del sitio web. Tras la descarga, sigue los pasos que se indican a continuación para añadir el paquete al proyecto.
A continuación, haga clic en Aceptar para añadir la referencia.
Lo primero que tenemos que hacer es instalar la biblioteca Iron Barcode, que añade funcionalidad de código de barras al .NET Framework. Podemos hacerlo utilizando nuestro Paquete NuGet o descargando la DLL de código de barras .NET. ``` PM > Instalar código de barras del paquete
La biblioteca BarcodeLib puede descargarse e instalarse de cuatro formas distintas.
Estos son:
Este método es similar al utilizado anteriormente para IronBarcode. Lo único que tenemos que cambiar son los criterios de búsqueda, como en la imagen siguiente.
Seleccione la primera opción, que descargará la biblioteca de códigos de barras BarcodeLib.
En Visual Studio Tools, vaya a Herramientas-> Gestor de paquetes NuGet -> Consola del gestor de paquetes
Introduzca la siguiente línea en la pestaña de la consola del gestor de paquetes. ``` Install-Package BarcodeLib
El paquete se descargará/instalará en el proyecto actual y estará listo para su uso.
### 3.2.3 Descarga directa desde el sitio web de Barcodelib
La tercera forma es descargar el paquete directamente del sitio web.
Haga clic en <a href="http://www.barcodelib.com/net_barcode/file_download.php" target="_blank" rel="nofollow noopener noreferrer">aquí</a> para ser redirigido a la página web de NuGet waquí se puede descargar el paquete.
## 4.0 Generación de códigos de barras
La generación de códigos de barras puede realizarse fácilmente utilizando IronBarcode y BarcodeLib. Veámoslo con un ejemplo.
### 4.1 Utilización de IronBarcode
IronBarcode se puede utilizar para crear una etiqueta de código de barras y luego guardarla en diferentes tipos de formatos de imagen. Además, podemos pasar el tipo de código de barras que necesitamos generar. El siguiente fragmento es para la generación de códigos de barras.
```cs
var MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128);
MyBarCode.AddAnnotationTextBelowBarcode("123456");
MyBarCode.SaveAsImage("MyBarCode.jpeg");
Barcodewriter.Createbarcode es una clase estática que está disponible en el espacio de nombres IronBarcode. Se necesitan dos parámetros para crear un código de barras. También podemos especificar las opciones de altura y anchura mediante la función CreateBarcode.
Tras enviar el parámetro, devolverá el objeto código de barras, que a su vez devolverá diferentes propiedades del código de barras, y con las que podremos añadir propiedades como en el código de ejemplo anterior. AddAnnotationTextBelowBarcode es una de las propiedades que nos permite añadir el texto debajo o encima de las etiquetas de código de barras. Si lo necesitamos, también podemos ocultar el texto del código de barras. En el código anterior, el generador jpeg ayuda a que los códigos de barras se guarden en el formato de imagen jpeg.
También podemos exportar los códigos de barras en formato HTML. Tenemos diferentes tipos de imágenes generadas y guardadas en diferentes formatos de imagen. Además, podemos leer más de un código de barras a partir de una imagen de código de barras dada.
var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World",
"logo.png", 500);
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
QRWithLogo.SaveAsJpeg("Logoqr.jpeg");
var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World",
"logo.png", 500);
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
QRWithLogo.SaveAsJpeg("Logoqr.jpeg");
Dim QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500)
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen)
QRWithLogo.SaveAsJpeg("Logoqr.jpeg")
El ejemplo anterior muestra que somos capaces de generar un código de barras con la imagen dentro del código QR. CreateQrCodeWithLogo es una función que nos permite realizar este trabajo. También estamos utilizando la función ChangeBarCodeColor que nos ayudará a cambiar el color del código de barras/QR. Estas funciones de IronBarcode crean códigos de barras personalizados para fines empresariales.
BarcodeLib puede utilizarse para generar códigos de barras. Podemos generar diferentes tipos de códigos de barras. El siguiente fragmento se puede utilizar para crear el código de barras.
BarcodeLib.Barcode.Linear barcode = new BarcodeLib.Barcode.Linear();
barcode.Type = BarcodeType.CODE39;
barcode.Data = "CODE39";
barcode.UOM = UnitOfMeasure.PIXEL;
barcode.BarWidth = 1;
barcode.BarHeight = 80;
barcode.LeftMargin = 5;
barcode.RightMargin = 5;
barcode.TopMargin = 5;
barcode.BottomMargin = 5;
barcode.ImageFormat = System.Drawing.Imaging.ImageFormat.Png;
// save barcode image into your file system
barcode.drawBarcode("C://barcode.png");
// generate barcode & output to byte array
byte [] barcodeInBytes = barcode.drawBarcodeAsBytes();
// generate barcode to Graphics object
Graphics graphics = ...
barcode.drawBarcode(graphics);
// generate barcode and output to Bitmap object
Bitmap barcodeInBitmap = barcode.drawBarcode();
// generate barcode and output to HttpResponse object
HttpResponse response = ...;
barcode.drawBarcode(response);
// generate barcode and output to Stream object
Stream stream = ...;
barcode.drawBarcode(stream);
BarcodeLib.Barcode.Linear barcode = new BarcodeLib.Barcode.Linear();
barcode.Type = BarcodeType.CODE39;
barcode.Data = "CODE39";
barcode.UOM = UnitOfMeasure.PIXEL;
barcode.BarWidth = 1;
barcode.BarHeight = 80;
barcode.LeftMargin = 5;
barcode.RightMargin = 5;
barcode.TopMargin = 5;
barcode.BottomMargin = 5;
barcode.ImageFormat = System.Drawing.Imaging.ImageFormat.Png;
// save barcode image into your file system
barcode.drawBarcode("C://barcode.png");
// generate barcode & output to byte array
byte [] barcodeInBytes = barcode.drawBarcodeAsBytes();
// generate barcode to Graphics object
Graphics graphics = ...
barcode.drawBarcode(graphics);
// generate barcode and output to Bitmap object
Bitmap barcodeInBitmap = barcode.drawBarcode();
// generate barcode and output to HttpResponse object
HttpResponse response = ...;
barcode.drawBarcode(response);
// generate barcode and output to Stream object
Stream stream = ...;
barcode.drawBarcode(stream);
IRON VB CONVERTER ERROR developers@ironsoftware.com
El código anterior muestra que BarcodeGenerator es una clase llamada BarcodeLib con la que podemos generar el código de barras creando un objeto, y que necesitamos pasar dos parámetros: uno es el tipo de código de barras, y el otro parámetro es la cadena de código de barras que necesitamos para crear un código de barras. A continuación, se convertirá en un objeto BarcodeGenerator.
El objeto de generación de código de barras proporciona una función llamada guardar que nos permite guardar el código de barras creado en un formato de imagen. No estamos limitados al formato jpeg, ya que podemos guardar en diferentes propiedades de código de barras como Tiff, etc.
La altura y el ancho de la barra se pueden redimensionar utilizando una función separada Objeto generador de código de barras que tiene el valor para establecer esto: "Parámetros.Código.Barras.Dimensión.Milímetros". Esto nos permite especificar la altura y la anchura de la línea.
IronBarcode y BarcodeLib nos permiten reconocer códigos de barras de diferentes formatos de imagen y los tipos a los que pertenecen. Veámoslo con más detalle.
IronBarcode ayuda a leer el código de barras de diferentes formatos de imagen y puede definirse de tres formas: como cadena, flujo e imágenes como Jpeg, Tiff, Bitmap, etc. El siguiente ejemplo es para leer el código de barras de la imagen utilizando el método string.
BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg");
if (QRResult != null)
{
Console.WriteLine(QRResult.Value);
Console.WriteLine(QRResult.BarcodeType);
}
BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg");
if (QRResult != null)
{
Console.WriteLine(QRResult.Value);
Console.WriteLine(QRResult.BarcodeType);
}
Dim QRResult As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg")
If QRResult IsNot Nothing Then
Console.WriteLine(QRResult.Value)
Console.WriteLine(QRResult.BarcodeType)
End If
Lo anterior describe que estamos utilizando una clase BarcodeReader que tiene diferentes propiedades. Una de las propiedades es QuicklyReadOneBarcode, que nos ayuda a leer el código de barras de los formatos de imagen.
QuicklyReadOneBarcode nos ayuda a leer el código de barras de diferentes tipos de formatos de imagen. También nos ayuda a convertirlos en objetos BarcodeResult. A través del objeto, podemos obtener el valor del código de barras y el tipo de código de barras que estamos leyendo de la imagen.
El BarcodeResult tiene los siguientes valores:
Valor binario
El tipo de código de barras de la imagen de entrada suministrada se devuelve mediante BarcodeType, que es un tipo de datos enum. IronBarcode admite un total de veintidós formatos de códigos de barras. Se devolverá el tipo de código de barras que se aplica a la imagen de entrada proporcionada.
Los valores de tipo objeto disponibles en el BarcodeResult son también value y text. Los tipos de datos de cadena incluyen valor y texto. Devuelve el valor de la cadena del código de barras. QuicklyReadOneBarcode lee un código QR/código de barras y convierte el valor de la cadena de la imagen en valor/texto. El valor binario es del tipo de datos byte, y devuelve el byte de la imagen. El código de respuesta rápida se muestra a continuación y puede pegarse en cualquier aplicación net Windows Forms o net standard.
La fuente para el reconocimiento de códigos de barras en BarCode para .NET puede definirse de tres formas: como un archivo de imagen, un flujo o un mapa de bits. BMP, PNG, JPEG, GIF y TIFF son los cinco formatos de imagen que pueden utilizarse para leer un código de barras a partir de archivos. También se facilitan los detalles de aplicación de tres modos diferentes. A continuación se muestra el siguiente ejemplo para utilizar el método de cadena.
OptimizeSetting setting = new OptimizeSetting();
setting.setMaxOneBarcodePerPage(true);
ScanArea top20 = new ScanArea(new PointF(0.0F, 0.0F), new PointF(100.0F, 20.0F));
ScanArea bottom20 = new ScanArea(new PointF(0.0F, 80.0F), new PointF(100.0F, 100.0F));
List<ScanArea> areas = new List<ScanArea>();
areas.Add(top20);
areas.Add(bottom20);
setting.setAreas(areas);
string [] results = BarcodeReader.read("c:/code39-barcode.gif", BarcodeReader.CODE39, setting);
OptimizeSetting setting = new OptimizeSetting();
setting.setMaxOneBarcodePerPage(true);
ScanArea top20 = new ScanArea(new PointF(0.0F, 0.0F), new PointF(100.0F, 20.0F));
ScanArea bottom20 = new ScanArea(new PointF(0.0F, 80.0F), new PointF(100.0F, 100.0F));
List<ScanArea> areas = new List<ScanArea>();
areas.Add(top20);
areas.Add(bottom20);
setting.setAreas(areas);
string [] results = BarcodeReader.read("c:/code39-barcode.gif", BarcodeReader.CODE39, setting);
Dim setting As New OptimizeSetting()
setting.setMaxOneBarcodePerPage(True)
Dim top20 As New ScanArea(New PointF(0.0F, 0.0F), New PointF(100.0F, 20.0F))
Dim bottom20 As New ScanArea(New PointF(0.0F, 80.0F), New PointF(100.0F, 100.0F))
Dim areas As New List(Of ScanArea)()
areas.Add(top20)
areas.Add(bottom20)
setting.setAreas(areas)
Dim results() As String = BarcodeReader.read("c:/code39-barcode.gif", BarcodeReader.CODE39, setting)
El código anterior muestra que estamos leyendo el código de barras desde el formato jpeg. BarcodeReader es una clase que nos ayuda a leer la imagen del código de barras utilizando la ruta de la imagen como parámetro. Una vez que pasemos la ruta de la imagen convertirá la imagen en un objeto BarcodeReader. A continuación, podemos utilizar el objeto para obtener el valor de la imagen.
Los objetos BarcodeReader tienen una función llamada ReadBarCodes() que nos ayudará a obtener todos los códigos disponibles en las imágenes. Usando el bucle for podemos obtener las imágenes una a una y guardarlas en el objeto BarCodeResult. A través del objeto, podemos leer el valor y el tipo del código de barras. De este modo, podemos leer varios códigos de barras a la vez.
La garantía de devolución del dinero en 30 días: cuando se adquiere una licencia se obtienen 30 días de devolución del dinero en caso de que la licencia no funcione.
Fácil integración: la integración de IronBarcode con tu proyecto y entorno es tan sencilla que podemos conseguirlo escribiendo una sola línea de código añadiendo desde NuGet Package, o podemos descargarlo desde la web e integrarlo con nuestro entorno de esa forma.
Licencia perpetua: Cada licencia se adquiere una vez y no requiere renovación.
Asistencia y actualizaciones del producto gratuitas: cada licencia incluye un año de actualizaciones gratuitas del producto y la asistencia del equipo que lo desarrolla. Es posible adquirir extensiones en cualquier momento. Se pueden ver las extensiones.
Licencias inmediatas: las claves de licencia registradas se envían en cuanto se recibe el pago.
Todas las licencias son perpetuas y se aplican al desarrollo, la puesta en marcha y la producción.
**La licencia Lite
Licencia perpetua
Esta licencia permite a un único desarrollador de software de una organización utilizar el software Iron en un único lugar. Iron Software puede utilizarse en una aplicación web, una aplicación de intranet o un programa de software de escritorio. Las licencias son intransferibles y no pueden compartirse fuera de una organización o de una relación agencia/cliente. Este tipo de licencia, al igual que todos los demás tipos de licencia, excluye expresamente todos los derechos no concedidos expresamente en virtud del Acuerdo, sin la redistribución OEM y la utilización del Software Iron como SaaS si no se adquiere cobertura adicional.
Precios: Desde $599 al año.
**Licencia profesional
Licencia perpetua
Esto permite a un número predeterminado de desarrolladores de software de una organización utilizar Iron Software en ubicaciones únicas, hasta un máximo de diez. El software Iron puede utilizarse en tantos sitios web, aplicaciones de intranet o aplicaciones de software de escritorio como se desee. Las licencias son intransferibles y no pueden compartirse fuera de una organización o de una relación agencia/cliente. Este tipo de licencia, al igual que todos los demás tipos de licencia, excluye expresamente todos los derechos no otorgados expresamente bajo el Acuerdo, incluyendo la redistribución OEM y la utilización del Software Iron como SaaS sin adquirir cobertura adicional. Esta licencia puede integrarse en un solo proyecto hasta un máximo de 10.
**Precios: A partir de 999 $ al año.
**Licencia ilimitada
Licencia perpetua
Esto permite que un número ilimitado de desarrolladores de software de una organización utilicen Iron Software en un número ilimitado de ubicaciones. El software Iron puede utilizarse en tantos sitios web, aplicaciones de intranet o aplicaciones de software de escritorio como se desee. Las licencias son intransferibles y no pueden compartirse fuera de una organización o de una relación agencia/cliente. Este tipo de licencia, al igual que todos los demás tipos de licencia, excluye expresamente todos los derechos no concedidos expresamente en virtud del Acuerdo, incluida la redistribución OEM y la utilización del Software Iron como SaaS si no se adquiere una cobertura adicional.
**Precios: A partir de 2999 dólares al año.
Redistribución libre de regalías: Esto le permite distribuir el Software Iron como parte de una serie de productos comerciales empaquetados de forma diferente (sin tener que pagar derechos de autor) en función del número de proyectos cubiertos por la licencia base. Permite el despliegue de Iron Software dentro de los servicios de software SaaS, en función del número de proyectos cubiertos por la licencia base.
**Precios: A partir de 1599 $ al año.
Si tiene alguna petición o pregunta, envíe un correo electrónico al servicio de asistencia.
Licencia única para desarrolladores: La Licencia Única de Desarrollador permite a un desarrollador la distribución libre de regalías de licencias de usuario ilimitadas y software de instalación en servidores ilimitados, que pueden colocarse en más de una ubicación.
**Precios: A partir de 999 $ al año.
Licencia para 5 desarrolladores: Esto permite a cinco desarrolladores la distribución libre de regalías de licencias de usuario ilimitadas y software de instalación en servidores ilimitados, que se pueden colocar en más de una ubicación.
**Precios: Desde $1999 al año.
Licencia ilimitada para desarrolladores: Esto permite a los desarrolladores ilimitadas de distribución libre de regalías, licencias de usuario ilimitadas, y el software de instalación en servidores ilimitados, que pueden ser colocados en más de una ubicación.
**Precios: A partir de 2999 dólares al año.
IronBarcode Lite incluye un paquete para un desarrollador con un año de soporte, y cuesta alrededor de $599, mientras que el paquete BarcodeLib para un desarrollador cuesta 999 dólares. La licencia IronPDF Professional, un paquete para 10 desarrolladores con un año de soporte cuesta 999 dólares, mientras que el paquete BarcodeLib para 10 desarrolladores cuesta 2999 dólares al año. Ambas licencias incluyen actualizaciones periódicas, versiones importantes y asistencia técnica durante un año.
Los paquetes IronPDF Lite y Professional disponen de servicio SaaS u OEM junto con una opción de soporte de 5 años. El paquete Lite para un desarrollador con 5 años de soporte y servicio Saas y OEM cuesta 2897 USD. BarcodeLib ofrece servicio SaaS u OEM y opciones de asistencia personalizadas. La licencia Iron Professional ofrece un paquete para 10 desarrolladores con 5 años de soporte y servicio Saas y OEM por 3397 dólares. BarcodeLib incluye un paquete para 10 desarrolladores con 1 año de soporte y servicio Saas y OEM, todo ello por 2999 dólares.
IronBarcode es una de las bibliotecas más potentes para ayudar a generar y reconocer códigos de barras. También es una de las bibliotecas más rápidas en cuanto a generación y reconocimiento de códigos de barras. Esta biblioteca es compatible con varios sistemas operativos. Soporta una gran variedad de formatos de código de barras y es fácil de crear Podemos cambiar el formato de la imagen a jpeg y otros, y cambiar el color, la altura de la línea, el ancho, el texto del código de barras, etc.
BarcodeLib.Barcode es también una potente librería que nos puede ayudar a generar y reconocer códigos de barras con diferentes formatos de imagen. Podemos utilizar varios formatos de imagen para leer y crear códigos de barras. BarcodeLib también proporciona opciones para cambiar la apariencia de un código de barras, como la altura, la anchura, el texto del código de barras, etc.
Los paquetes IronBarcode ofrecen mejores licencias y soporte que BarcodeLib. BarcodeLib también es más caro, a partir de 999 dólares al año, mientras que IronBarcode es claramente más barato al precio inicial de $599. IronBarcode no sólo es más rentable, sino que también ofrece más funciones que BarcodeLib. Además, IronBarcode tiene la ventaja de ser más rápido que BarcodeLib. IronBarcode también tiene varias propiedades que nos permiten no sólo leer códigos de barras de diferentes formatos de imagen, sino también leer códigos de barras de documentos PDF. También nos permite añadir imágenes dentro del código de barras o QR, una función que no está disponible en ninguna otra biblioteca.
¿A qué espera? La prueba gratuita está abierta a todos. Puede obtener el Licencia aquí y comience de inmediato
9 productos API .NET para sus documentos de oficina