使用IRONPRINT

如何在C#中使用网络打印机打印

发布 2024年六月6日
分享:

简介

在网络打印机上进行程序化打印是各种软件应用程序的共同任务。无论您是在构建桌面、移动应用程序还是网络服务,将文档直接发送到网络打印机的功能都能大大提高软件的可用性和效率。在本文中,我们将探讨如何使用 C# 和 IronPrint铁软件.

如何在 C&num 中使用网络打印机打印;

1.创建用于打印文档的新项目,使用 IronPrint.

2.安装 IronPrint 到一个新项目。

3.可用于打印文件的网络打印机列表。

4.使用以下设备打印 PDF 文档 IronPrint.

5.使用以下功能打印 PDF 文档 IronPrint 与对话。

6.使用打印设置进行高级打印。

设置环境

在进入编码部分之前,让我们确保环境设置正确无误。要使用 C# 在网络打印机上打印,需要具备以下条件:

1.确保可以从运行 C# 应用程序的机器上访问网络打印机。

2.打印机的网络地址 (IP 地址或网络打印机名称).

3.机器上安装了必要的打印机驱动程序。

4.安装打印机或驱动程序所需的管理权限。

IronPrint

在深入了解实施细节之前,让我们先熟悉一下如何开始使用 IronPrint:

  1. 安装:IronPrint 可通过 NuGet 软件包管理器轻松安装。只需访问 NuGet 页面 并按照安装说明进行操作。

  2. 文件:参考 官方文件 获取快速入门指南和全面的 API 参考资料。

兼容性和支持:IronPrint 为各种环境和项目类型提供广泛的兼容性和支持:

  • .NET 版本支持:IronPrint 支持 C#、VB.NET 和 F#,包括 .NET 8、7、6、5 和 Core 3.1+。
  • **操作系统和环境***:IronPrint 兼容 Windows (7+)MacOS (10+)iOS (11+)和安卓应用程序接口 21+ (v5 "棒棒糖").

  • 项目类型:无论您是开发移动 (Xamarin、MAUI、Avalonia)桌面 (WPF、MAUI、Windows Avalonia)或控制台应用程序,IronPrint 都能满足您的需求。

现在,让我们通过下面的示例看看如何使用 IronPrint 打印。

using IronPrint;
// 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;
// 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
' Configure printer setting
Private printSettings As New PrintSettings()
printSettings.Dpi = 220
printSettings.NumberOfCopies = 10
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the document
Printer.Print("awesomeIronPrint.pdf", printSettings)
VB   C#

System.Printing

C# 中的 "System.Printing "命名空间包含一些类和接口,使开发人员能够以编程方式与打印机、打印队列、打印服务器和打印任务交互。该命名空间中的一些关键类和接口包括

1.打印队列代表连接到系统的打印机或打印设备。

2.打印服务器代表网络上的打印服务器。

3.PrintSystemJobInfo`: 打印系统任务信息:提供打印任务的相关信息,如状态和属性。

4.打印票据代表打印任务的设置,包括纸张大小、方向和打印质量。

开始使用 System.Printing:在深入学习代码之前,让我们先确保对 System.Printing 的打印工作原理有一个基本的了解:

  1. PrintQueue 选择:您需要确定代表您要用于打印的打印机的 PrintQueue 对象。

  2. PrintTicket 配置:可选择配置 PrintTicket 对象,以指定打印设置,如纸张大小、方向和份数。

  3. 文档打印:最后,将要打印的文档发送到所选的 "打印队列"。

使用 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, paper size, orientation
            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, paper size, orientation
            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, paper size, orientation
			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
VB   C#

IronPrint 与 System.Printing 的对比

如何在 C# 中使用网络打印机打印:图 1 - IronPrint 与 System.Printing 的快速对比表

本表快速概述了 IronPrint 和 System.Printing 的功能和特性,有助于开发人员根据具体要求和平台目标做出明智的决定。

第 1 步:创建新项目,使用 IronPrint 打印文件

在 Visual Studio 中创建一个控制台应用程序,如下所示。

如何在 C# 中使用网络打印机打印:图 2 - 创建控制台应用程序

提供项目名称和地点。

如何在 C#.NET 中使用网络打印机进行打印?图 3 - 提供项目名称

选择 .NET 版本。

如何在 C#.NET 中使用网络打印机进行打印?图 4 - 选择适当的 .NET 版本

现在,项目已创建完成,可以进一步编码了。

第 2 步:在新项目上安装 IronPrint

如下图所示,从 Visual Studio 软件包管理器安装 IronPrint。

如何在 C# 中使用网络打印机打印:图 5 - 通过 Visual Studio 软件包管理器搜索 IronPrint

也可以使用下面的命令安装 IronPrint:

Install-Package IronPrint

第 3 步:列出可用于打印文件的网络打印机

要使用 IronPrint 列出打印机名称,请使用下面的代码:

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 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 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
VB   C#

代码解释

1.使用 Printer.GetPrinterNames 获取所有可用的打印机驱动程序。

2.使用 Console.WriteLine 打印名称。

输出

如何在 C# 中使用网络打印机打印:图 6 - 可用打印机输出示例

第 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
VB   C#

执行后,文件将添加到打印队列,如输出所示。

输出

如何在 C# 中使用网络打印机打印:图 7 - 将文档添加到打印队列的输出示例

第 5 步:使用带有对话框的 IronPrint 打印 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
VB   C#

代码解释

1.使用 IronPrint 中的 "ShowPrintDialog",我们可以通过对话框进行打印

2.打开对话框后,选择所需的打印机来打印文件

输出

如何在 C# 中使用网络打印机打印:图 8 - 选择正确的打印机

第 6 步:使用打印设置提前打印

IronPrint 支持使用高级设置打印文档。它支持以下属性:

  1. PaperSize:指定打印机使用的纸张尺寸。

  2. 纸张方向:定义纸张的方向,如自动、纵向或横向。

  3. DPI:设置所需的打印分辨率(单位:点/英寸)。默认值为 300,通常用于商业印刷。实际 DPI 可能受到打印机性能的限制。

  4. NumberOfCopies:表示文档要打印的相同份数。

  5. 打印机名称:指定用于打印任务的打印机名称。

  6. PaperMargins:确定打印页边距,单位为毫米。

  7. Grayscale:布尔值,决定是否以灰度打印。默认值为假。

现在我们来看一个代码示例:

using IronPrint;
namespace IronPrintDemo;
public class Program
{
    public static void Main()
    {
        // Configure custom print setting
        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 setting
        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 setting
			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
VB   C#

代码解释

1.代码首先导入必要的命名空间 IronPrint,该命名空间大概包含打印所需的类和方法。

2.在 IronPrintDemo 命名空间中,有一个名为 Program 的类被声明为 public。

3.Main 方法是程序的入口点。

4.在 Main 方法中

  • 实例化名为 printSettingsPrintSettings 对象,以配置自定义打印设置。

  • printSettings 的 Dpi 属性设置为 150,表示打印分辨率为每英寸 150 点。

  • printSettingsNumberOfCopies` 属性设置为 2,表示将打印两份相同的文档副本。

  • 打印设置 "的 "PaperOrientation "属性设置为 "PaperOrientation.Portrait",表示文档将以纵向打印。

5.最后,调用打印机的打印方法,参数为 "sample.pdf" (要打印的文件名) 和 printSettings (自定义打印设置).这种方法大概是使用指定的设置来处理打印过程。

输出

如何在 C# 中使用网络打印机打印:图 9 - 输出示例,显示添加到打印队列中用于打印的 PDF 文档

许可证

IronPrint铁软件 是一个企业库,需要许可证才能运行。添加 IronPrint 许可证密钥后,项目即可运行,不受任何限制或水印。 在此购买许可证 或注册获取 30 天免费试用密钥 这里.

获得许可证密钥后,需要将密钥放入应用程序的 appSettings.json 文件中

{
"IronPrint.License.LicenseKey": "IRONPRINT.KEY"
}

这将无限制和无水印地打印文件。

结论

总之,IronPrint 和 System.Printing各有所长,适用于不同的应用场景。IronPrint 提供了简化的跨平台解决方案,注重简单性和通用性,而 System.Printing则提供了本地集成和细粒度控制,尤其适用于基于 Windows 的应用程序。开发人员在为其 C# 项目选择这些打印库时,应考虑其具体要求和平台目标。

IronPrint 通过提供用户友好的 API 和跨各种平台和项目类型的广泛兼容性,简化了 .NET 应用程序中的文档打印。按照本文概述的步骤,您可以将打印功能无缝集成到您的 .NET 项目中,从而提高项目的可用性和生产力。探索 IronPrint 的可能性,在您的应用程序中开启一个高效的文档打印世界。

下一步 >
如何在C#中打印QR码

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

免费NuGet下载 总下载量: 7,289 查看许可证 >