Cómo leer los códigos de barras de los flujos

por Hairil Hasyimi Bin Omar



MemoryStream es una clase de .NET Framework que permite leer y escribir en un flujo almacenado en memoria. Es un tipo de flujo que puede utilizarse para manipular datos que no están almacenados en un archivo físico, sino en la memoria.

Además de leer códigos de barras de archivos de imagen o archivos PDF, IronBarcode también destaca en la lectura de códigos de barras de flujos. Siendo una gran API en una aplicación, IronBarcode es capaz de aceptar un documento PDF o un flujo de imágenes como entrada y emitir el resultado de la lectura de los códigos de barras dentro del flujo. Veamos ahora cómo conseguirlo.

Lectura de códigos de barras a partir de un flujo de imágenes

En esta sección, le mostraremos cómo utilizar IronBarcode para leer un flujo de imágenes, así como múltiples flujos de imágenes almacenados en un archivo Lista<>

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-streams-1.cs
using IronBarCode;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.IO;

List<MemoryStream> list = new List<MemoryStream>();
list.Add(AnyBitmap.FromFile("image1.jpg").ToStream());
list.Add(AnyBitmap.FromFile("image2.jpg").ToStream());
list.Add(AnyBitmap.FromFile("image3.png").ToStream());

var myBarcode = BarcodeReader.Read(list);

foreach (var barcode in myBarcode)
{
    Console.WriteLine(barcode.ToString());
}
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System
Imports System.Collections.Generic
Imports System.IO

Private list As New List(Of MemoryStream)()
list.Add(AnyBitmap.FromFile("image1.jpg").ToStream())
list.Add(AnyBitmap.FromFile("image2.jpg").ToStream())
list.Add(AnyBitmap.FromFile("image3.png").ToStream())

Dim myBarcode = BarcodeReader.Read(list)

For Each barcode In myBarcode
	Console.WriteLine(barcode.ToString())
Next barcode
VB   C#

Del fragmento de código anterior, podemos ver que IronBarcode puede aceptar objetos, así como listas de objetos de MemoryStream in the BarcodeReader.Read() method and read the stream objects. En el fragmento de código anterior, también introdujimos nuestro biblioteca gratuita de código abierto, IronDrawing que puede utilizarse para convertir imágenes a MemoryStream objetos. Sin embargo, en caso de que ya tenga una imagen o lista de imágenes comopuede utilizarlo directamente como argumento en BarcodeReader.Read() to read the barcodes present in the stream.

Leer códigos de barras de documentos PDF

En esta sección, le mostraremos cómo utilizar IronBarcode para leer un archivo PDF como un código de barras. MemoryStream o un objeto MemoryStream lista de documentos PDF.

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-streams-2.cs
using IronBarCode;
using IronPdf;
using System;
using System.IO;

MemoryStream document = PdfDocument.FromFile(@"file_path.pdf").Stream;

var myBarcode = BarcodeReader.ReadPdf(document);

foreach (var value in myBarcode)
{
    Console.WriteLine(value.ToString());
}
Imports IronBarCode
Imports IronPdf
Imports System
Imports System.IO

Private document As MemoryStream = PdfDocument.FromFile("file_path.pdf").Stream

Private myBarcode = BarcodeReader.ReadPdf(document)

For Each value In myBarcode
	Console.WriteLine(value.ToString())
Next value
VB   C#

Como se puede ver en el fragmento de código anterior, no hay mucha diferencia en la forma de leer códigos de barras de un documento PDF como archivo MemoryStream con la lectura del código de barras como MemoryStream objeto. La única diferencia es el método de lectura utilizado para leer códigos de barras de documentos PDF, que es el siguiente BarcodeReade.ReadPdf() que acepta el documento PDF como un único MemoryStream objeto. En el fragmento de código anterior también hemos utilizado IronPDF como ayuda para convertir documentos PDF a MemoryStream objeto. Si hay varios documentos PDF como flujo que desea que IronBarcode lea, se recomienda combinar todos los documentos PDF en un flujo de documentos PDF y enviarlo a BarcodeReader.ReadPdf() method. Así que, siéntete libre de probarlo y manipular la biblioteca como quieras!!