如何从数据流中读取条形码

This article was translated from English: Does it need improvement?
Translated
View the article in English

海瑞尔 哈西米 本 奥马尔



MemoryStream 是 .NET Framework 中的一个类,它提供了一种读取和写入存储在内存中的流的方法。它是一种流类型,可用于处理不存储在物理文件中而是存储在内存中的数据。

除了从图像文件或 PDF 文件中读取条形码外,IronBarcode 还擅长从数据流中读取条形码。作为应用程序中的一个重要 API,IronBarcode 能够接受 PDF 文档或图像流作为输入,并输出流内条码的读取结果。现在,让我们看看如何实现这一点。

从图像流中读取条形码

在本节中,我们将向您展示如何使用 IronBarcode 读取图像流,以及存储在一个条码服务器中的多个图像流。 列表<>

: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#

从上面的代码片段中,我们可以看到 IronBarcode 可以接受对象,也可以接受下列对象的列表 内存流 输入 条码阅读器.读取() 方法并读取流对象。在上面的代码片段中,我们还引入了 免费开放源代码库 IronDrawing 可用于将图像转换为 内存流 对象。但是,如果您已经将图像或图像列表作为 <内存流> 对象的参数,可以直接在 条码阅读器.读取() to read the barcodes present in the stream.

从 PDF 文档流中读取条形码

在本节中,我们将向您演示如何使用 IronBarcode 以 PDF 文档流的形式读取条码。 内存流 对象或 内存流 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#

从上面的代码片段可以看出,从 PDF 文档中读取条形码作为 内存流 对象,并将读取条形码作为 内存流 对象。唯一的区别在于从 pdf 文档中读取条形码的读取方法,即 BarcodeReade.ReadPdf() 可将 PDF 文档作为单个 内存流 对象。在上面的代码片段中,我们也使用了 IronPDF 作为将 PDF 文档转换为 内存流 对象。如果有多个 PDF 文档流需要 IronBarcode 读取,建议将所有 PDF 文档合并为一个 PDF 文档流,并将其输入到 条码阅读器.ReadPdf() method. So, feel free to try it and manipulate the library the way you want!!

海瑞尔 哈西米 本 奥马尔

软件工程师

像所有优秀的工程师一样,Hairil 是一个热衷学习的人。他正在精进自己的 C#、Python 和 Java 知识,并利用这些知识为 Iron Software 团队成员增添价值。Hairil 毕业于马来西亚的马来西亚工艺大学(Universiti Teknologi MARA),获得了化学与工艺工程学士学位,然后加入了 Iron Software 团队。