使用IRONPRINT

如何在C#中打印QR码

查克尼特·宾
查克尼特·宾
2024年四月29日
分享:

QR 代码或快速反应代码在数字时代已经无处不在。 它们将信息存储在白底黑字的矩阵中,可以使用智能手机或专用 QR 码阅读器扫描。 这些使用 .NET 条形码 DLL 的 QR 码/条形码可用于各种用途,包括产品标签、移动支付和营销材料。 打印二维码对于无缝集成物理和数字交互至关重要。

在这篇文章中,我们将首先使用IronQR,QR码生成器库在C#中生成QR码,然后使用IronPDF将其转换为PDF,最后使用C# IronPrint库打印完美像素的带有QR码图像的文档。

如何在 C# 中打印二维码;

  1. 创建 Visual Studio 项目

  2. 安装IronQRIronPDFIronPrint

  3. 使用QrWriter.Write()方法创建一个QR码

  4. 使用SaveAs方法将生成的二维码保存为图像

  5. 使用IronPDF的ImageToPdfConverter创建PDF文档

  6. 使用 IronPrint 调整PrinterSettings

  7. 使用 IronPrint 的Printer.Print()方法进行打印

IronPrint - C# 打印库

IronPrint,由Iron Software开发,是一个强大的.NET打印库,提供了一套多功能工具来处理C#中的打印任务。 它支持多种环境,包括 Windows、macOS、Android 和 iOS。 在本文中,我们将探讨如何结合 IronQR 和 IronPDF 利用 IronPrint 在 C# 控制台应用程序中创建 QR 代码,并转换和打印 QR 代码。

IronPrint 的功能

IronPrint 通过专门的类和方法为打印相关功能提供支持,令其脱颖而出。 关键功能包括:

  • 全面的打印设置:IronPrint 允许开发人员自定义打印过程的各个方面,例如纸张大小、方向、DPI、打印份数、打印机名称、页边距和灰度打印。
  • 使用 Printer 类进行多功能打印:该库引入了 Printer 类,提供了一套全面的方法用于打印各种文件类型,包括图像和 PDF 文档。
  • 跨平台支持:IronPrint 支持跨多个平台打印,使其适合各种应用程序。

先决条件

在深入学习用 C# 创建打印 QR 代码的控制台应用程序的步骤之前,请确保您具备以下先决条件:

  1. Visual Studio:安装 Microsoft Visual Studio,这是一个用于 C# 的强大集成开发环境。 您可以从其官方网站下载。

  2. IronQR 库: 这个库对于生成二维码是必不可少的。 使用 NuGet 控制台安装它或直接从官方 IronQR NuGet 网站安装。

  3. IronPDF 库:IronPDF 将用于将生成的二维码条形码图像转换为 PDF。 使用相同的 NuGet 安装方法进行安装。

  4. IronPrint 库:最终,安装 IronPrint 库,以便在 C# 应用程序中实现无缝打印。

在 Visual Studio 中创建 C# 控制台应用程序

请按照以下步骤在 Visual Studio 中设置 C# 控制台应用程序:

  1. 打开 Visual Studio 并创建一个新的 C# 控制台应用程序

  2. 如下配置项目,然后单击 "下一步

    ![如何在C#中打印QR码:图1 - 通过指定项目名称、位置和解决方案名称来配置新的C#控制台应用程序项目。 然后点击“下一步”按钮。

  3. 接下来,如需了解更多信息,请选择 .NET Framework 并点击 "创建"。

通过 NuGet 包管理器安装必要的库

按照步骤安装必要的库:

  1. 使用 Visual Studio 项目中的 "工具 "菜单或 "解决方案资源管理器 "打开 NuGet Package Manager Console 或 NuGet Package Manager for Solutions。

  2. 安装IronQR二维码库:

    • 使用 NuGet 软件包管理器控制台,添加以下命令:
      Install-Package IronQR
  • 使用管理解决方案的 NuGet 软件包:在 NuGet 的浏览选项卡中,搜索 "IronQR"、QR 码库并单击安装。

    如何在 C# 中打印 QR 码:图 2 - 通过在解决方案的管理 NuGet 包中搜索 "IronQR" 来安装 IronQR

  1. 安装IronPDF PDF库:

    • 使用 NuGet 软件包管理器控制台,输入以下命令:
        Install-Package IronPdf
  • 使用管理解决方案的 NuGet 软件包:在 NuGet 的浏览选项卡中,搜索 "IronPDF "库并单击安装。

    如何在 C# 中打印二维码:图 3 - 使用解决方案的 NuGet 包管理器搜索 "IronPDF" 来安装 IronPDF

  1. 安装IronPrint打印库:

    • 使用 NuGet 软件包管理器控制台,添加以下命令:
        Install-Package IronPrint
  • 使用管理解决方案的 NuGet 软件包:在 NuGet 的浏览选项卡中,搜索 "IronPrint "库并单击安装。

    如何在C#中打印二维码:图4 - 使用解决方案的NuGet包管理器安装IronPrint,搜索"IronPrint"

创建、转换和打印 QR 代码的步骤

让我们使用 IronQR、IronPDF 和 IronPrint 一步步分解创建二维码、将二维码转换为 PDF,最后打印二维码生成器输出的过程。

打印 C# QR 码的步骤

步骤 1:参考库

在顶部的 Program.cs 文件中,我们将包含对所需库的引用。 这样才能确保这些库已安装并可随时使用。

// Reference to libraries
using IronPrint;                    // Library for printing functionalities
using IronPdf;                      // Library for PDF handling
using IronQr;                       // Library for QR code generation
using IronSoftware.Drawing;         // Library for image processing
// Reference to libraries
using IronPrint;                    // Library for printing functionalities
using IronPdf;                      // Library for PDF handling
using IronQr;                       // Library for QR code generation
using IronSoftware.Drawing;         // Library for image processing
' Reference to libraries
Imports IronPrint ' Library for printing functionalities
Imports IronPdf ' Library for PDF handling
Imports IronQr ' Library for QR code generation
Imports IronSoftware.Drawing ' Library for image processing
$vbLabelText   $csharpLabel

步骤 2:使用 IronQR 创建 QR 码

在此步骤中,首先我们将使用IronQR生成一个二维码,然后将其保存为图像,如下面的代码示例所示:

// Code to create a QR code using IronQR
QrCode myQr = QrWriter.Write("Hello IronPrint!");  // Generate a QR code with the message
AnyBitmap qrImage = myQr.Save();                    // Save QR code as an image
qrImage.SaveAs("assets/qr.png");                    // Save the png image file to the "assets" folder
// Code to create a QR code using IronQR
QrCode myQr = QrWriter.Write("Hello IronPrint!");  // Generate a QR code with the message
AnyBitmap qrImage = myQr.Save();                    // Save QR code as an image
qrImage.SaveAs("assets/qr.png");                    // Save the png image file to the "assets" folder
' Code to create a QR code using IronQR
Dim myQr As QrCode = QrWriter.Write("Hello IronPrint!") ' Generate a QR code with the message
Dim qrImage As AnyBitmap = myQr.Save() ' Save QR code as an image
qrImage.SaveAs("assets/qr.png") ' Save the png image file to the "assets" folder
$vbLabelText   $csharpLabel

在此代码片段中

  • 使用QrWriter类生成一个带有消息“Hello IronPrint!”的二维码。 Write() 方法允许生成带有消息或数字数据的二维码。
  • 二维码随后被保存为AnyBitmap文件,这是一种由IronSoftware提供的广泛兼容的C# Bitmap类。
  • 二维码图像保存在 "assets "文件夹中,名称为 "qr.png"。

    以下是二维码输出结果:

    如何在C#中打印二维码:图5 - 二维码输出图像:qr.png

第 3 步:使用 IronPDF 将 QR 图像转换为 PDF

接下来,我们将使用IronPDF把二维码图像转换为PDF。 PDF 文件保留了文档的格式,适合共享和打印。 在此,每个图像文件都将放在单独的 PDF 文件页面上。

// Code to convert QR Image to PDF using IronPDF
var imageFiles = Directory.EnumerateFiles("assets").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".png"));  // Reading QR codes image files
// Convert the QR code images to a PDF and save it
ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs("assets/composite.pdf");
// Code to convert QR Image to PDF using IronPDF
var imageFiles = Directory.EnumerateFiles("assets").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".png"));  // Reading QR codes image files
// Convert the QR code images to a PDF and save it
ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs("assets/composite.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

在此代码片段中

  • 首先,它会枚举 "assets "文件夹中扩展名为".jpg "或".png "的图像文件,然后读取目录中的二维码。
  • 使用 IronPDF 的 ImageToPdfConverter.ImageToPdf() 方法将图像转换为名为 "composite.pdf" 的 PDF。

    下面是输出结果:

    如何在 C# 中打印 QR 码:图 6 - 包含 QR 码图像的输出 PDF:composite.pdf

第 4 步:使用 IronPrint 打印 PDF

最后,我们将使用IronPrint——一个多功能的打印库,通过打印机设置打印生成的PDF

// Code for Printing using IronPrint
// Get available printer names
List<string> printerNames = Printer.GetPrinterNames();
// Create print settings object
PrintSettings printerSettings = new PrintSettings();
foreach(string printerName in printerNames)
{
    // Set desired printer name
    if(printerName.Equals("Microsoft Print to PDF"))
        printerSettings.PrinterName = printerName;
}
//Configure print setting
printerSettings.PaperSize = PaperSize.A4;                    // Set paper size
Margins margins = new Margins(30,10);                        // Set paper margins
printerSettings.PaperMargins = margins;                      // Apply margins
Printer.Print("assets/composite.pdf", printerSettings);      // Print the PDF
// Code for Printing using IronPrint
// Get available printer names
List<string> printerNames = Printer.GetPrinterNames();
// Create print settings object
PrintSettings printerSettings = new PrintSettings();
foreach(string printerName in printerNames)
{
    // Set desired printer name
    if(printerName.Equals("Microsoft Print to PDF"))
        printerSettings.PrinterName = printerName;
}
//Configure print setting
printerSettings.PaperSize = PaperSize.A4;                    // Set paper size
Margins margins = new Margins(30,10);                        // Set paper margins
printerSettings.PaperMargins = margins;                      // Apply margins
Printer.Print("assets/composite.pdf", printerSettings);      // Print the PDF
' Code for Printing using IronPrint
' Get available printer names
Dim printerNames As List(Of String) = Printer.GetPrinterNames()
' Create print settings object
Dim printerSettings As New PrintSettings()
For Each printerName As String In printerNames
	' Set desired printer name
	If printerName.Equals("Microsoft Print to PDF") Then
		printerSettings.PrinterName = printerName
	End If
Next printerName
'Configure print setting
printerSettings.PaperSize = PaperSize.A4 ' Set paper size
Dim margins As New Margins(30,10) ' Set paper margins
printerSettings.PaperMargins = margins ' Apply margins
Printer.Print("assets/composite.pdf", printerSettings) ' Print the PDF
$vbLabelText   $csharpLabel

在此源代码片段中

  • 使用 Printer.GetPrinterNames() 获取可用的打印机名称。
  • 设置所需的打印机名称(在本例中为“Microsoft Print to PDF”以演示打印过程)。 如果未指定,将使用所附的默认打印机。
  • 配置打印设置,指定纸张大小为 A4 并设置页边距。 页边距结构有多个重载,它还提供了顶部、底部、左侧和右侧等字段,可根据需要设置页边距。
  • 使用Printer.Print()打印PDF。第一个参数是要打印的文件路径,第二个是指定的printerSettings

    下面是打印文件的输出结果。这显示了图像的打印效果:

    如何在C#中打印二维码:图7 - 输出打印文件:composite.pdf

    使用IronPrint打印到物理打印机要容易得多。 要获得更多打印控制,您可以使用 ShowPrintDialog() 方法。 有关如何高效打印的更多信息,请访问此文档页面

IronPrint 在 C# 中打印的优势;

IronPrint 专为 .NET 应用程序设计的强大打印库。 与主要专注于处理PDF相关任务的IronPDF和作为通用打印机制的Microsoft打印不同,IronPrint提供了一组专门的类和方法,旨在对打印过程进行精细控制。

使用IronPrint,开发人员可以利用:

1.异步打印

IronPrint 提供异步功能,防止打印操作阻塞线程并提高性能。

2.多功能印刷

IronPrint 中专用的Printer类允许多种文件类型的多功能打印,提供超越标准打印的灵活性。

3.跨平台支持

IronPrint 支持多种平台,包括 Windows、Android、iOS 和 macOS,因此适用于不同的应用环境。

4.可定制的打印设置

开发人员可以通过PrintSettings类精细控制打印设置,包括纸张尺寸、方向、DPI、份数等。

结论

总之,IronPrintIronQRIronPDF的组合为在C#中创建、转换和打印QR码提供了强大的解决方案。 异步打印、灵活的打印选项和跨平台支持的优势使IronPrint成为开发人员的宝贵工具。 按照本指南中列出的详细步骤,您可以生成 QR 码 BarCode,还可以将其打印无缝集成到您的 C# 应用程序中,在物理和数字交互之间架起一座桥梁。

IronPrint 提供从 $749 开始的免费试用。 从这里下载库并试用。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
如何在C#中使用网络打印机打印
下一步 >
如何在C#中将文件打印到打印机

准备开始了吗? 版本: 2025.4 刚刚发布

查看许可证 >