如何从数据流中读取条形码
如何用 C# 从数据流中读取条形码
- 从图像流读取条形码
- 从 PDF 文档流中读取条码
MemoryStream 是 .NET Framework 中的一个类,它提供了一种方法,可以读取和写入存储在内存中的流。 这是一种流,可用于操作未存储在物理文件中而是存储在内存中的数据。
除了从图像文件或PDF文件读取条形码外,IronBarcode还擅长从流中读取条形码。 作为应用程序中出色的 API,IronBarcode 能够接受 PDF 文档或图像流作为输入,并输出流内条码的读取结果。 现在让我们看看如何实现这一点。
从图像流中读取条形码
在本节中,我们将向您展示如何使用IronBarcode读取图像流,以及存储在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());
}
从上面的代码片段可以看出,IronBarcode 可以接受 MemoryStream
类型的对象以及对象列表到 BarcodeReader.Read()
方法中,并读取流对象。 在上面的代码片段中,我们还介绍了我们的免费开源库 IronDrawing,可以用于将图像转换为MemoryStream
对象。 但是,如果您已有一个图像或图像列表作为BarcodeReader.Read()
中使用,以读取流中存在的条形码。
从 PDF 文档流读取条形码
在本节中,我们将向您展示如何使用IronBarcode将PDF文档文件读取为MemoryStream
对象或PDF文档的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());
}
从上面的代码片段可以看出,从 PDF 文档中读取条形码作为MemoryStream
对象与作为MemoryStream
对象读取条形码没有太大区别。 唯一的区别是用于从 PDF 文档读取条形码的读取方法,即BarcodeReade.ReadPdf()
,它接受 PDF 文档作为一个单一的MemoryStream
对象。 在上面的代码片段中,我们还使用IronPDF作为助手将PDF文档转换为MemoryStream
对象。 如果有多个作为流的 PDF 文档需要 IronBarcode 读取,建议将所有 PDF 文档合并成一个 PDF 文档流,然后传递给 BarcodeReader.ReadPdf()
方法。 所以,请随意尝试并按照您的意愿操作该库!!