跳至页脚内容
使用 IRONPRINT

用 IronPrint 在 C# 中打印 QR 代码

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

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

如何在C#中打印二维码

  1. 创建一个Visual Studio项目
  2. 安装IronQRIronPDFIronPrint
  3. 使用QrWriter.Write()方法创建一个二维码
  4. 使用SaveAs方法将生成的二维码保存为图像
  5. 使用IronPDF的ImageToPdfConverter创建PDF文档
  6. 使用IronPrint调整PrinterSettings
  7. 使用IronPrint的Printer.Print()方法进行打印

IronPrint - C#打印库

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

IronPrint的功能

IronPrint以专门的类和方法为特征,专为打印相关功能量身打造。 关键特性包括:

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

前提条件

在深入研究如何在C#中创建控制台应用程序以打印二维码的步骤之前,请确保具备以下先决条件。

  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#中打印二维码:图1 - 通过指定项目名称、位置和解决方案名称来配置您的新C#控制台应用程序。 然后点击下一步按钮。

  3. 接下来,选择.NET Framework以获取更多信息,然后点击"创建"。

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

按照以下步骤安装必要的库:

  1. 使用工具菜单或Visual Studio项目中的解决方案资源管理器打开NuGet包管理器控制台或NuGet包管理器。
  2. 安装IronQR二维码库:

    • 使用NuGet包管理器控制台,执行以下命令:
    Install-Package IronPrint
    • 使用解决方案的NuGet包管理:在NuGet的浏览选项卡中搜索"IronQR",二维码库并点击安装。

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

  1. 安装IronPDF PDF库:

    • 使用NuGet包管理器控制台,输入以下命令:

      Install-Package IronPrint
    • 使用解决方案的NuGet包管理:在NuGet的浏览选项卡中搜索"IronPDF"库并点击安装。

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

  1. 安装IronPrint打印库:

    • 使用NuGet包管理器控制台,添加以下命令:

      Install-Package IronPrint
    • 使用解决方案的NuGet包管理:在NuGet的浏览选项卡中搜索"IronPrint"库并点击安装。

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

创建、转换和打印二维码的步骤

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

逐步打印C#二维码的过程

步骤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创建二维码

在这一步中,我们首先将使用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

在此代码片段中:

  • 生成一个包含"Hello IronPrint!"信息的二维码,使用QrWriter类。 Write()方法允许使用信息或数字数据生成二维码。
  • QR码然后保存为AnyBitmap文件,这是IronSoftware提供的一个通用兼容的C#位图类。
  • QR码图像保存到"assets"文件夹,名称为"qr.png"。

以下是二维码输出:

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

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

接下来,我们将使用将QR图像转换为PDFIronPDF。 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");
' Code to convert QR Image to PDF using IronPDF
Dim imageFiles = Directory.EnumerateFiles("assets").Where(Function(f) f.EndsWith(".jpg") OrElse 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")
$vbLabelText   $csharpLabel

在此代码片段中:

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

以下是输出结果:

如何在C#中打印二维码:图6 - 含有二维码图像的输出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 settings
printerSettings.PaperSize = PaperSize.A4;                    // Set paper size
Margins margins = new Margins(30, 10);                       // Set paper margins
printerSettings.PaperMargins = margins;                      // Apply margins

// Print the PDF
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 settings
printerSettings.PaperSize = PaperSize.A4;                    // Set paper size
Margins margins = new Margins(30, 10);                       // Set paper margins
printerSettings.PaperMargins = margins;                      // Apply margins

// Print the PDF
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 settings
printerSettings.PaperSize = PaperSize.A4 ' Set paper size
Dim margins As New Margins(30, 10) ' Set paper margins
printerSettings.PaperMargins = margins ' Apply margins

' Print the PDF
Printer.Print("assets/composite.pdf", printerSettings) ' Print the PDF
$vbLabelText   $csharpLabel

在此代码片段中:

  • 使用Printer.GetPrinterNames()获取可用的打印机名称。
  • 设置所需的打印机名称(在本例中,为了演示打印过程,使用"Microsoft Print to PDF")。 如果未指定,将使用连接的默认打印机。
  • 配置打印设置,指定纸张尺寸为A4并设置边距。 Margins结构有多个重载并且也提供了字段,如顶边、底边、左边和右边,以按需设置边距。
  • 使用Printer.Print()打印PDF。第一个参数是要打印的文件路径,第二个是指定的printerSettings

这是打印文件的输出。这显示了图像将如何被打印:

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

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

IronPrint在C#打印中的优势

IronPrint专为.NET应用程序设计为强大的打印库。 与主要专注于处理PDF相关任务的IronPDF和微软打印(这是一个通用的打印机制)不同,IronPrint提供了一组专用的类和方法,专为在打印过程中进行细粒度控制而设计。

借助IronPrint,开发人员可以利用:

1. 异步打印

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

2. 多用途打印

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

3. 跨平台支持

IronPrint支持包括Windows、Android、iOS和macOS在内的多个平台,使其适用于各种应用程序环境。

4. 可自定义的打印设置

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

结论

总之,IronPrintIronQRIronPDF的结合提供了一个强大的解决方案用于在C#中创建、转换和打印二维码。 异步打印、多功能打印选项和跨平台支持的优势使IronPrint成为开发人员的一个有价值的工具。 通过遵循本指南中详细的步骤,您可以生成二维码条码,并无缝集成其打印到C#应用程序中,弥合物理和数字交互之间的差距。

IronPrint提供从$799开始的免费试用。 从这里下载库文件并试用一下。

常见问题解答

QR 码在数字应用中如何工作?

QR 码将信息存储在白色背景上的黑色方块矩阵中,可以使用智能手机或专用 QR 码阅读器进行扫描。广泛用于产品标签、移动支付和营销材料。

如何在 .NET 应用程序中生成 QR 码?

要在 .NET 应用程序中生成 QR 码,请使用 IronQR 库。QrWriter.Write() 方法允许您创建 QR 码,之后可以将其保存为图像以便进一步处理。

使用 C# 打印 QR 码涉及哪些步骤?

该过程包括使用 IronQR 生成 QR 码,使用 IronPDF 将其转换为 PDF,然后使用 IronPrint 打印。此过程可确保高质量的输出,适用于各种应用。

是什么让 IronPrint 成为 .NET 打印任务的多功能选择?

IronPrint 提供丰富的功能,如异步打印、全面的打印设置自定义和跨平台支持,使其成为 .NET 打印任务的多功能选择。

IronPrint 支持哪些平台的打印任务?

IronPrint 支持多个平台的打印,包括 Windows、macOS、Android 和 iOS,为在多样化环境工作的开发人员提供灵活性。

如何在 Visual Studio 中安装 IronQR、IronPDF 和 IronPrint 库?

使用 Visual Studio 中的 NuGet 包管理器安装这些库。在 NuGet 控制台中使用 'Install-Package' 命令将每个库添加到您的项目中。

IronPrint 相较于传统的 Microsoft 打印有哪些优势?

IronPrint 提供诸如异步打印、灵活的文件类型支持和可定制的打印设置优势,为将 QR 码打印集成到 C# 应用程序中提供了强大的解决方案。

如何在 C# 中将 QR 码图像转换为 PDF?

您可以使用 IronPDF 库在 C# 中将 QR 码图像转换为 PDF。使用 RenderHtmlAsPdf 方法将 QR 码图像包含在 PDF 文档中。

设置 C# 中的 QR 码打印需要哪些预备条件?

确保您已安装 Visual Studio,以及 IronQR、IronPDF 和 IronPrint 库。可以通过 Visual Studio 中的 NuGet 包管理器安装这些库。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。