使用 C# 创建条码

使用 C# 创建条码

条码包含条形形式的信息,并提供管理库存项目的效率和稳健性。企业通过为存储产品信息的项目分配条形码来组织他们的库存。但是,使用条形码生成器 API 自动化条形码生成过程可为您的业务应用程序提供竞争优势。在这篇博文中,我们将学习如何使用 C# 以编程方式创建条形码。

本文将涵盖以下主题:

条码生成器 API 安装

这个库的安装过程非常简单。您可以 下载 DLL 文件或在 NuGet 包管理器中运行以下命令。

Install-Package Aspose.BarCode
Install-Package Aspose.PDF

使用 C# 创建条码

这个 .NET 库公开了许多以编程方式创建和操作条形码的方法。您可以通过以下步骤和代码片段:

  1. 通过创建 Aspose.Pdf.Document() 类的实例来创建带有新页面的 PDF 文档。
  2. 通过实例化 BarcodeGenerator 类的实例将条形码图像转换为 PNG 流。
  3. 调用 Resolution 属性来设置条形码图像分辨率。
  4. 通过调用 GenerateBarCodeImage 方法生成条码图像并将其分配给 Bitmap 对象。
  5. 初始化 MemoryStream 类的对象。
  6. 保存 条码图像以 PNG 格式流式传输。
  7. 创建一个对象 Rectangle,其中图像将放置在左上角。
  8. 通过调用 AddImage 方法将图像添加到创建的 PDF 页面。
  9. 调用 save 方法保存 PDF 文档。
int Resolution = 300;//300 dpi high resolution of the barcode image
int leftBarcodePosition = 10;//left position of the barcode image
int topBarcodePosition = 20;//top position of the barcode image

//通过创建 Aspose.Pdf.Document() 类的实例来创建带有新页面的 PDF 文档 
Aspose.Pdf.Document pdfDoc = new Aspose.Pdf.Document();
Aspose.Pdf.Page pdfPage = pdfDoc.Pages.Add();
//通过实例化 BarcodeGenerator 类的实例将条形码图像转换为 PNG 流
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Pdf417, "Aspose.Barcode Example");
// 调用 Resolution 属性来设置条形码图像分辨率
generator.Parameters.Resolution = Resolution;
// 通过调用 GenerateBarCodeImage 方法生成条码图像并赋值给 Bitmap 对象  
Bitmap image = generator.GenerateBarCodeImage();
// 初始化 MemoryStream 类的对象 
MemoryStream imageStream = new MemoryStream();
// 将条形码图像保存为 PNG 格式的流。 
generator.Save(imageStream, BarCodeImageFormat.Png);
imageStream.Position = 0;
Rectangle imageRect = new Rectangle(leftBarcodePosition, topBarcodePosition, (image.Width * 72) / Resolution, (image.Height * 72) / Resolution);
//创建一个矩形对象,其中图像将放置在左上角/左角 
Aspose.Pdf.Rectangle pdfRect = new Aspose.Pdf.Rectangle(imageRect.Left, pdfPage.Rect.Height - imageRect.Bottom, imageRect.Right, pdfPage.Rect.Height - imageRect.Top);
//通过调用 AddImage 方法将图像添加到创建的 PDF 页面 
pdfPage.AddImage(imageStream, pdfRect);
//调用 save 方法保存 PDF 文档 
pdfDoc.Save("AddBarcodeToPDFDocumentDirectly.pdf");

您可以在下图中看到输出:

将条形码添加到 PDF

如何从多页 PDF 文档中读取条形码

在本节中,我们将编写以编程方式从 PDF 文件中读取条形码的代码片段。

步骤如下:

  1. 实例化 Document 类的实例以创建 PDF 文档。
  2. 使用 PDF 文件初始化 PdfConverter 类的构造函数。
  3. 通过设置BarcodeOptimization属性设置条码优化模式。
  4. 您可以通过设置 Resolution 属性来设置页面的分辨率。
  5. 将所有页面设置为从第一页开始呈现为图像。
  6. 调用此 DoConvert 方法将所选页面呈现到图像。
  7. 将当前页面作为 PNG 图像渲染到内存流。
  8. 使用默认值初始化 BarCodeReader 类的新实例以检测条形码。
// 实例化 Document 类的实例以创建 PDF 文档 
using (Aspose.Pdf.Document pdfDoc = new Aspose.Pdf.Document("AddBarcodeToPDFDocumentDirectly.pdf"))
    {
        // 用PDF文件初始化PdfConverter类的构造函数 
        Aspose.Pdf.Facades.PdfConverter pdfConverter = new Aspose.Pdf.Facades.PdfConverter(pdfDoc);
        // 通过设置 BarcodeOptimization 属性设置条码优化模式 
        pdfConverter.RenderingOptions.BarcodeOptimization = true;
        //通过设置分辨率属性为页面设置分辨率  
        pdfConverter.Resolution = new Aspose.Pdf.Devices.Resolution(300);
        //将所有页面设置为从第一页开始呈现为图像
        pdfConverter.StartPage = 1; 
        pdfConverter.EndPage = pdfConverter.Document.Pages.Count;
        // 调用此 DoConvert 方法将所选页面呈现到图像 
        pdfConverter.DoConvert();
        while (pdfConverter.HasNextImage())
        {
            //将当前页面作为 png 图像渲染到内存流
            MemoryStream ms = new MemoryStream();
            pdfConverter.GetNextImage(ms, Aspose.Pdf.PageSize.A0);
            ms.Position = 0;

            //使用默认值初始化 BarCodeReader 类的新实例以检测条形码。
            BarCodeReader reader = new BarCodeReader(ms, DecodeType.Pdf417, DecodeType.QR, DecodeType.DataMatrix);
            foreach (BarCodeResult result in reader.ReadBarCodes())
                Console.WriteLine($"Barcode type:{result.CodeTypeName}, Barcode Data:{result.CodeText}");
        }
    }

获得免费许可证

您可能会获得 免费临时许可证 来试用 API,而不受评估限制。

加起来

这将我们带到这篇博客文章的结尾。我们已经了解了如何使用 C# 创建条形码并以编程方式将它们保存到 PDF 文件中。我们还介绍了如何使用此条形码生成器 API 从 PDF 文件中读取条形码。此外,您可以访问此 .NET 库的 文档 以了解更多功能。最后,conholdate.com 正在撰写有关新主题的新博客文章。因此,请保持联系以获取定期更新。

问一个问题

您可以在我们的 论坛 上告诉我们您的问题或疑问。

常见问题

如何创建条形码程序?

您可以安装此条形码生成器 API 以编程方式构建条形码生成器。此外,您可以在 here 中找到该库公开的方法列表。

如何在 ASP NET MVC 中创建条码?

查看此 部分 以了解如何使用 C# 创建条形码。事实上,在 .NET 应用程序中只需几行源代码即可以编程方式创建和读取条形码。

也可以看看