C# 应用中打印 QRCode 二维码

360影视 2025-02-04 05:44 2

摘要:本文将介绍如何在 Windows Forms (WinForms) 应用程序中生成并打印二维码(QRCode)。我们将使用开源库 QRCoder 来生成二维码,并使用 PrintDocument 类进行打印。本文假设你对 C# 和 WinForms 有基本的了

本文将介绍如何在 Windows Forms (WinForms) 应用程序中生成并打印二维码(QRCode)。我们将使用开源库 QRCoder 来生成二维码,并使用 PrintDocument 类进行打印。本文假设你对 C# 和 WinForms 有基本的了解。

在你的项目中通过 NuGet 安装 QRCoder 库。打开 NuGet 包管理器控制台,并输入以下命令:

Install-Package QRCoder

我们将创建一个包含按钮的简单窗体应用程序。点击按钮后,将生成一个二维码并触发打印事件。以下是我们的项目结构:

首先,在你的 Form1.Designer.cs 中设计用户界面。我们只需要一个按钮与一个图片控件。

using QRCoder;using System.Drawing.Printing;namespace AppPrinter{public partial class Form1 : Form{private Bitmap qrCodeImage;public Form1{InitializeComponent;}private void btnPrint_Click(object sender, EventArgs e){// 生成二维码GenerateQRCode("Hello, World!");// 更新PictureBox以显示二维码的预览picBoxQRCode.Image = qrCodeImage;// 配置并启动打印PrintDocument pd = new PrintDocument;pd.PrintPage += new PrintPageEventHandler(PrintQrCode);PrintDialog printDialog = new PrintDialog{Document = pd};if (printDialog.ShowDialog == DialogResult.OK){pd.Print;}}private void GenerateQRCode(string text){using (QRCodeGenerator qrGenerator = new QRCodeGenerator){QRCodeData qrCodeData = qrGenerator.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);using (QRCode qrCode = new QRCode(qrCodeData)){qrCodeImage = qrCode.GetGraphic(10);}}}private void PrintQrCode(object sender, PrintPageEventArgs e){if (qrCodeImage != null){float x = (e.PageBounds.Width - qrCodeImage.Width) / 2;float y = (e.PageBounds.Height - qrCodeImage.Height) / 2;e.Graphics.DrawImage(qrCodeImage, x, y, qrCodeImage.Width, qrCodeImage.Height);}}}}

现在,你已经完成了所有代码。当你运行应用程序并点击“打印”按钮时,应该会生成一个二维码,随后会弹出打印对话框。你可以选择打印机来打印生成的二维码。

通过本教程,你已经学会了如何在 WinForms 应用程序中生成和打印二维码。这是一个简单但实用的功能,可以应用于各种场景,比如访问控制、产品识别等。通过进一步的开发,你可以扩展这个功能,比如从用户输入生成二维码,或者将二维码保存为图像文件等。希望本教程对你有所帮助!

来源:科技迅

相关推荐