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

Hairil related to Cómo leer los códigos de barras de los flujos
Hairil Hasyimi Bin Omar
29 de marzo, 2023
Actualizado 20 de octubre, 2024
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English


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 usar IronBarcode para leer un flujo de imágenes, así como múltiples flujos de imágenes almacenados en una List<>

: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
$vbLabelText   $csharpLabel

Del fragmento de código anterior, podemos ver que IronBarcode puede aceptar un objeto, así como una lista de objetos del tipo MemoryStream en el método BarcodeReader.Read() y leer los objetos de flujo. En el fragmento de código anterior, también introdujimos nuestra biblioteca gratuita y de código abierto, IronDrawing que se puede utilizar para convertir imágenes en objetos MemoryStream. Sin embargo, en caso de que ya tengas una imagen o lista de imágenes como objetos , puedes usarlos directamente como argumento en BarcodeReader.Read() para leer los códigos de barras presentes en el flujo.

Leer códigos de barras de documentos PDF

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

: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
$vbLabelText   $csharpLabel

Como se observa en el fragmento de código anterior, no hay mucha diferencia en cómo leer códigos de barras desde un documento PDF como objeto MemoryStream comparado con leer un código de barras como objeto MemoryStream. La única diferencia es el método de lectura utilizado para leer códigos de barras de documentos PDF, que es BarcodeReade.ReadPdf(), que acepta el documento PDF como un único objeto MemoryStream. En el fragmento de código anterior también, utilizamos IronPDF como asistente para convertir un documento PDF a un objeto MemoryStream. Si hay varios documentos PDF como flujo que deseas que IronBarcode lea, se recomienda fusionar todos los documentos PDF en un solo flujo de documento PDF y pasarlo al método BarcodeReader.ReadPdf(). Así que siéntete libre de probarla y manipular la biblioteca de la manera que desees.

Hairil related to Leer códigos de barras de documentos PDF
Ingeniero de software
Como todos los grandes ingenieros, Hairil es un ávido aprendiz. Está perfeccionando sus conocimientos de C#, Python y Java, y los utiliza para añadir valor a los miembros del equipo de Iron Software. Hairil se unió al equipo de Iron Software desde la Universiti Teknologi MARA de Malasia, donde se licenció en Ingeniería Química y de Procesos.