使用 IRONPRINT 如何在 C# 中使用网络打印机打印 Curtis Chau 已更新:六月 22, 2025 下载 IronPrint NuGet 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 在各种软件应用中,程序化地在网络打印机上进行打印是一项常见任务。 无论您是在构建桌面、移动应用程序,还是网络服务,能够直接将文档发送到网络打印机的能力可以极大地提高软件的可用性和效率。 在本文中,我们将探讨如何使用 C# 和来自 Iron Software 的 IronPrint 在网络打印机上打印。 如何使用网络打印机在 C# 中打印 创建一个新的打印文档项目,使用 IronPrint。 将 IronPrint 安装到一个新项目中。 列出可用于打印文档的网络打印机。 使用 IronPrint 打印 PDF 文档。 使用 IronPrint 通过对话框打印 PDF 文档。 使用打印设置进行高级打印。 设置环境 在深入编码部分之前,让我们确保我们的环境设置正确。 要在 C# 中向网络打印机打印,您需要具备以下条件: 确保从运行您的 C# 应用程序的机器可以访问网络打印机。 打印机的网络地址(IP 地址或网络打印机名称)。 计算机上已安装必要的打印机驱动程序。 如果需要,安装打印机或驱动程序的管理员权限。 IronPrint 在深入了解实现细节之前,让我们熟悉如何开始使用 IronPrint: 安装:可以通过 NuGet 包管理器轻松安装 IronPrint。 只需访问 NuGet 页面 并按照安装说明进行操作。 文档:参考官方文档,获取快速入门指南和全面的 API 参考。 兼容性和支持:IronPrint 提供跨多种环境和项目类型的广泛兼容性和支持: .NET 版本支持:IronPrint 支持 C#、VB.NET 和 F#,包括 .NET 8,7,6,5 和 Core 3.1+。 操作系统和环境:IronPrint 兼容 Windows (7+)、macOS (10+)、iOS (11+) 和 Android API 21+ (v5 "Lollipop")。 项目类型:无论您是在开发移动应用(Xamarin, MAUI, Avalonia)、桌面应用(WPF, MAUI, Windows Avalonia),还是控制台应用,IronPrint 都能满足您的需求。 现在让我们通过以下示例看看如何使用 IronPrint 进行打印。 using IronPrint; namespace IronPrintDemo { class Program { static void Main(string[] args) { // Configure printer setting PrintSettings printSettings = new PrintSettings(); printSettings.Dpi = 220; printSettings.NumberOfCopies = 10; printSettings.PaperOrientation = PaperOrientation.Portrait; // Print the document Printer.Print("awesomeIronPrint.pdf", printSettings); } } } using IronPrint; namespace IronPrintDemo { class Program { static void Main(string[] args) { // Configure printer setting PrintSettings printSettings = new PrintSettings(); printSettings.Dpi = 220; printSettings.NumberOfCopies = 10; printSettings.PaperOrientation = PaperOrientation.Portrait; // Print the document Printer.Print("awesomeIronPrint.pdf", printSettings); } } } Imports IronPrint Namespace IronPrintDemo Friend Class Program Shared Sub Main(ByVal args() As String) ' Configure printer setting Dim printSettings As New PrintSettings() printSettings.Dpi = 220 printSettings.NumberOfCopies = 10 printSettings.PaperOrientation = PaperOrientation.Portrait ' Print the document Printer.Print("awesomeIronPrint.pdf", printSettings) End Sub End Class End Namespace $vbLabelText $csharpLabel System.Printing C# 中的 System.Printing 命名空间包含类和接口,允许开发人员以编程方式与打印机、打印队列、打印服务器和打印作业交互。 此命名空间中的一些关键类和接口包括: PrintQueue:表示连接到系统的打印机或打印设备。 PrintServer:表示网络上的打印服务器。 PrintSystemJobInfo:提供有关打印作业的信息,例如其状态和属性。 PrintTicket:代表打印作业的设置,包括纸张大小、朝向和打印质量。 开始使用 System.Printing:在深入代码之前,让我们确保我们对使用 System.Printing 进行打印有一个基本的了解: PrintQueue选择:您需要识别代表您要用于打印的打印机的 PrintQueue 对象。 PrintTicket 配置:如果需要,您可以配置 PrintTicket 对象以指定打印设置,如纸张大小、方向和份数。 文档打印:最后,您将要打印的文档发送到所选的 PrintQueue。 使用 System.Printing 实现文档打印:现在,让我们通过以下示例演练使用 System.Printing 打印文档的过程: 这是源代码: using System; using System.IO; using System.Printing; class Program { static void Main(string[] args) { // Specify the path to the document to be printed on the local printer string documentPath = "path/to/your/document.pdf"; // Instantiate a Printer Server object representing the local print server using (PrintServer printServer = new PrintServer()) { // Get the default PrintQueue from the PrintServer default PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue; // Create a PrintTicket object to specify print settings (optional) PrintTicket printTicket = new PrintTicket(); // Configure print settings, e.g., number of copies printTicket.CopyCount = 1; // Print the document to the default PrintQueue with the specified PrintTicket defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket); } Console.WriteLine("Document sent to print queue."); } } using System; using System.IO; using System.Printing; class Program { static void Main(string[] args) { // Specify the path to the document to be printed on the local printer string documentPath = "path/to/your/document.pdf"; // Instantiate a Printer Server object representing the local print server using (PrintServer printServer = new PrintServer()) { // Get the default PrintQueue from the PrintServer default PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue; // Create a PrintTicket object to specify print settings (optional) PrintTicket printTicket = new PrintTicket(); // Configure print settings, e.g., number of copies printTicket.CopyCount = 1; // Print the document to the default PrintQueue with the specified PrintTicket defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket); } Console.WriteLine("Document sent to print queue."); } } Imports System Imports System.IO Imports System.Printing Friend Class Program Shared Sub Main(ByVal args() As String) ' Specify the path to the document to be printed on the local printer Dim documentPath As String = "path/to/your/document.pdf" ' Instantiate a Printer Server object representing the local print server Using printServer As New PrintServer() ' Get the default PrintQueue from the PrintServer default Dim defaultPrintQueue As PrintQueue = printServer.DefaultPrintQueue ' Create a PrintTicket object to specify print settings (optional) Dim printTicket As New PrintTicket() ' Configure print settings, e.g., number of copies printTicket.CopyCount = 1 ' Print the document to the default PrintQueue with the specified PrintTicket defaultPrintQueue.AddJob("MyPrintJob", documentPath, False, printTicket) End Using Console.WriteLine("Document sent to print queue.") End Sub End Class $vbLabelText $csharpLabel IronPrint 与 System.Printing 的对比 该表提供了 IronPrint 和 System.Printing 特征和特点的快速概览,帮助开发人员根据其特定需求和平台目标做出明智的决策。 步骤 1:创建用于打印文档的新项目 在 Visual Studio 中创建如图所示的控制台应用程序。 提供项目名称和位置。 选择 .NET 版本。 现在项目已经创建并准备好进行进一步编码。 步骤 2:在新项目上安装 IronPrint 从 Visual Studio 包管理器安装 IronPrint,如下所示。 IronPrint 也可以使用以下命令安装: Install-Package IronPrint 步骤 3:列出可用于打印文档的网络打印机 要使用 IronPrint 列出打印机名称,请使用以下代码: using System; using System.Collections.Generic; using IronPrint; namespace IronPrintDemo { public class Program { public static void Main() { // Get printer names using printer drivers List<string> printersName = Printer.GetPrinterNames(); foreach (var printer in printersName) { Console.WriteLine(printer); } } } } using System; using System.Collections.Generic; using IronPrint; namespace IronPrintDemo { public class Program { public static void Main() { // Get printer names using printer drivers List<string> printersName = Printer.GetPrinterNames(); foreach (var printer in printersName) { Console.WriteLine(printer); } } } } Imports System Imports System.Collections.Generic Imports IronPrint Namespace IronPrintDemo Public Class Program Public Shared Sub Main() ' Get printer names using printer drivers Dim printersName As List(Of String) = Printer.GetPrinterNames() For Each printer In printersName Console.WriteLine(printer) Next printer End Sub End Class End Namespace $vbLabelText $csharpLabel 代码解释 使用 Printer.GetPrinterNames 获取所有可用的打印机驱动程序。 使用 Console.WriteLine 打印名称。 输出 步骤 4:使用 IronPrint 打印 PDF 文档 使用以下代码以静默方式打印文档: using IronPrint; namespace IronPrintDemo { public class Program { public static void Main() { // Print the document silently Printer.Print("sample.pdf"); } } } using IronPrint; namespace IronPrintDemo { public class Program { public static void Main() { // Print the document silently Printer.Print("sample.pdf"); } } } Imports IronPrint Namespace IronPrintDemo Public Class Program Public Shared Sub Main() ' Print the document silently Printer.Print("sample.pdf") End Sub End Class End Namespace $vbLabelText $csharpLabel 执行后,文档将如输出中所示添加到打印队列中。 输出 步骤 5:使用对话框打印 PDF 文档 使用以下代码通过对话框打印文档: using IronPrint; namespace IronPrintDemo { public class Program { public static void Main() { // Print with Dialog Printer.ShowPrintDialog("sample.pdf"); } } } using IronPrint; namespace IronPrintDemo { public class Program { public static void Main() { // Print with Dialog Printer.ShowPrintDialog("sample.pdf"); } } } Imports IronPrint Namespace IronPrintDemo Public Class Program Public Shared Sub Main() ' Print with Dialog Printer.ShowPrintDialog("sample.pdf") End Sub End Class End Namespace $vbLabelText $csharpLabel 代码解释 使用 IronPrint 的 ShowPrintDialog 我们可以使用对话框进行打印。 一旦对话框打开,选择所需的打印机来打印文档。 输出 步骤 6:使用打印设置进行高级打印 在 IronPrint 中支持使用高级设置打印文档。 它支持以下属性: PaperSize:指定打印机使用的纸张尺寸。 PaperOrientation:定义纸张的方向,如自动、纵向或横向。 DPI:设置所需的打印分辨率(以每英寸点数为单位)。 默认值是 300,通常用于商业印刷。 实际 DPI 可能会受到打印机功能的限制。 NumberOfCopies:指明要打印的文档的相同副本数量。 PrinterName:指定用于打印任务的打印机名称。 PaperMargins:确定打印的边距,以毫米为单位。 Grayscale:一个布尔值决定是否以灰度打印。 默认是false。 现在让我们看看一个代码示例: using IronPrint; namespace IronPrintDemo { public class Program { public static void Main() { // Configure custom print settings PrintSettings printSettings = new PrintSettings(); printSettings.Dpi = 150; printSettings.NumberOfCopies = 2; printSettings.PaperOrientation = PaperOrientation.Portrait; // Print the required document Printer.Print("sample.pdf", printSettings); } } } using IronPrint; namespace IronPrintDemo { public class Program { public static void Main() { // Configure custom print settings PrintSettings printSettings = new PrintSettings(); printSettings.Dpi = 150; printSettings.NumberOfCopies = 2; printSettings.PaperOrientation = PaperOrientation.Portrait; // Print the required document Printer.Print("sample.pdf", printSettings); } } } Imports IronPrint Namespace IronPrintDemo Public Class Program Public Shared Sub Main() ' Configure custom print settings Dim printSettings As New PrintSettings() printSettings.Dpi = 150 printSettings.NumberOfCopies = 2 printSettings.PaperOrientation = PaperOrientation.Portrait ' Print the required document Printer.Print("sample.pdf", printSettings) End Sub End Class End Namespace $vbLabelText $csharpLabel 代码解释 代码首先导入必要的命名空间 IronPrint,其中包含打印所需的类和方法。 在 IronPrintDemo 命名空间内,有一个类名为 Program,被声明为 public。 Main 方法用作程序的入口点。 在 Main 方法中: 一个名为 printSettings 的 PrintSettings 对象被实例化以配置自定义打印设置。 printSettings 的 Dpi 属性被设置为 150,表示 150 每英寸点的打印分辨率。 printSettings 的 NumberOfCopies 属性被设置为 2,指定将打印文档的两个相同副本。 printSettings 的 PaperOrientation 属性被设置为 PaperOrientation.Portrait,表示文档将以纵向方向打印。 最后,Printer.Print 方法被调用,参数为"sample.pdf"(文档名)和 printSettings(自定义打印设置)。 此方法使用指定的设置处理打印过程。 输出 许可证 IronPrint 来自 Iron Software 是一个企业库,需要许可证才能运行。 添加 IronPrint 许可证密钥使项目不受限制或水印地运行。 在此购买许可证或注册免费 30 天试用密钥此处。 一旦获得许可证密钥,该密钥需要放置在应用程序的 appSettings.json 文件中。 { "IronPrint.License.LicenseKey": "IRONPRINT.KEY" } 这样将打印文档而不受限制或水印。 结论 综上所述,IronPrint 和 System.Printing 各有优势,适用于不同的场景。 IronPrint 提供了一种简化、跨平台的解决方案,专注于简单性和多功能性,而 System.Printing 提供了本地集成和精细控制,特别适用于基于 Windows 的应用程序。 开发人员应根据其特定需求和平台目标,在 C# 项目中选择这些打印库之一。 IronPrint 通过提供用户友好的 API 和在各种平台和项目类型中的广泛兼容性,简化了 .NET 应用程序中的文档打印。通过本文中概述的步骤,您可以无缝地将打印功能集成到您的 .NET 项目中,提高其可用性和生产力。 探索 IronPrint 的可能性,为您的应用程序解锁高效的文档打印世界。 常见问题解答 如何使用 C# 在网络打印机上打印? 您可以使用 IronPrint 在 C# 中通过网络打印机打印文件。它允许您通过方法直接将文件发送到网络打印机,程序化地处理打印任务。 在 C# 中设置网络打印机打印的步骤是什么? 首先,确保您有访问网络打印机及其地址。通过 NuGet 包管理器安装必要的驱动程序和 IronPrint。然后,使用 IronPrint 的方法管理和发送打印任务。 如何在我的 C# 项目中安装 IronPrint? 您可以通过 Visual Studio 中的 NuGet 包管理器安装 IronPrint,或在包管理器控制台中运行命令 Install-Package IronPrint。 IronPrint 与哪些 .NET 版本兼容? IronPrint 支持 C#、VB.NET 和 F#,兼容 .NET 8、7、6、5 和 Core 3.1+。 IronPrint 可以用于不同的操作系统吗? 是的,IronPrint 兼容 Windows(7+)、macOS(10+)、iOS(11+)和 Android API 21+(v5 'Lollipop')。 IronPrint 与 C# 中的 System.Printing 有何比较? IronPrint 提供了一个跨平台的解决方案,注重简洁性,而 System.Printing 提供了对 Windows 应用程序的本地集成和控制。 如何使用 IronPrint 列出可用的网络打印机? 您可以在 IronPrint 中使用方法 Printer.GetPrinterNames(),它返回可用的打印机驱动列表。 IronPrint 提供了哪些高级打印选项? IronPrint 支持高级设置,包括纸张尺寸、纸张方向、DPI、复印数量、打印机名称、纸张边距和灰度。 IronPrint 提供了哪些许可选项? 可以在 Iron Software 网站上购买 IronPrint 许可证或注册免费 30 天试用。许可证密钥放置在应用程序的 appSettings.json 文件中。 通过命令行安装 IronPrint 使用什么命令? 通过命令行安装 IronPrint,使用命令 Install-Package IronPrint。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十二月 18, 2025 使用 IronPrint 在不打开 Adobe 的情况下通过 VB.NET 打印 PDF VB.NET 打印 PDF 教程:在您的 .NET 应用程序中实现 PDF 打印。静默打印,对话框选项,自定义设置。 阅读更多 已发布十月 19, 2025 如何使用 IronPrint 在 VB.NET 中打印 PDF VB.NET 打印 PDF 教程:在您的 .NET 应用程序中实现 PDF 打印。静默打印,对话框选项,自定义设置。 阅读更多 已更新八月 3, 2025 C# 以编程方式打印 PDF(代码示例教程) 在应用程序中,有多种用例需要打印到 PDF 文件的功能。 阅读更多 如何使用 IronPrint 在 VB.NET 中打印 PDF如何在 C# 中打印 QR 代码
已发布十二月 18, 2025 使用 IronPrint 在不打开 Adobe 的情况下通过 VB.NET 打印 PDF VB.NET 打印 PDF 教程:在您的 .NET 应用程序中实现 PDF 打印。静默打印,对话框选项,自定义设置。 阅读更多
已发布十月 19, 2025 如何使用 IronPrint 在 VB.NET 中打印 PDF VB.NET 打印 PDF 教程:在您的 .NET 应用程序中实现 PDF 打印。静默打印,对话框选项,自定义设置。 阅读更多