如何从数据流中读取条形码
如何用 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());
}
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 可以接受 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());
}
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 文档中读取条形码作为MemoryStream
对象与作为MemoryStream
对象读取条形码没有太大区别。 唯一的区别是用于从 PDF 文档读取条形码的读取方法,即BarcodeReade.ReadPdf()
,它接受 PDF 文档作为一个单一的MemoryStream
对象。 在上面的代码片段中,我们还使用IronPDF作为助手将PDF文档转换为MemoryStream
对象。 如果有多个作为流的 PDF 文档需要 IronBarcode 读取,建议将所有 PDF 文档合并成一个 PDF 文档流,然后传递给 BarcodeReader.ReadPdf()
方法。 所以,请随意尝试并按照您的意愿操作该库!!