如何从数据流中读取条形码
如何用 C# 从数据流中读取条形码
- 从图像流中读取条形码
- 从 PDF 文档流中读取条码
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
从上面的代码片段中,我们可以看到 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
从上面的代码片段可以看出,从 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!!