使用IRONPRINT

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

发布 2024年六月6日
分享:

介绍

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

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

  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. 文档:参考官方文件您还可以从《Node.js》中获取快速入门指南和全面的 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)无论是.NET、Java、Python 还是 Node js,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 的打印工作原理有一个基本的了解:

  5. PrintQueue 选择:您需要识别代表您要用于打印的打印机的 PrintQueue 对象。

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

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

    使用 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. **纸张尺寸指定打印机使用的纸张尺寸。

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

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

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

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

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

  7. 灰度:决定是否以灰度打印的布尔值。 默认为 false。

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

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 的类,声明为公共类。

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

  4. 在主方法中:

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

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

    • 打印设置 "的 "NumberOfCopies "属性设置为 2,表示将打印两份相同的文档。

    • 打印设置 "的 "PaperOrientation "属性设置为 "PaperOrientation.Portrait",表示文档将以纵向打印。
  5. 最后是打印机。 调用 Print 方法,参数为 "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 for .NET 通过提供用户友好的 API 和跨各种平台和项目类型的广泛兼容性,简化了 .NET 应用程序中的文档打印。按照本文概述的步骤,您可以将打印功能无缝集成到您的 .NET 项目中,从而提高项目的可用性和生产力。 探索 IronPrint 的可能性,在您的应用程序中开启一个高效文档打印的世界。

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

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

免费NuGet下载 总下载量: 12,923 查看许可证 >