使用 IRONPRINT

如何使用 C# 打印網路打印機

發佈 2024年6月6日
分享:

介紹

在各種軟體應用中,以程式設計方式在網路印表機上進行列印是一項常見的任務。 無論您是在構建桌面、移動應用程式還是網路服務,直接將文件發送到網路打印機的能力都可以大大提高您的軟體的可用性和效率。 在本文中,我們將探討如何使用 C# 在網路印表機上列印,以及IronPrintIron Software.

如何在 C# 中使用網路印表機列印

  1. 使用 IronPrint 建立檔案列印的新專案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+),以及 Android API 21+(v5 "Lollipop").
    • 專案類型:無論您是在開發行動(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. PrintQueue:表示連接到系統的打印機或打印設備。

  2. PrintServer:表示網路上的列印伺服器。

  3. PrintSystemJobInfo:提供有關列印工作的資訊,例如其狀態和屬性。

  4. PrintTicket:表示列印作業的設定,包括紙張大小、方向和列印品質。

    開始使用 System.Printing:在我們深入研究程式碼之前,讓我們先確保對使用 System.Printing 進行列印的基本運作方式有基本了解:

  5. PrintQueue 選擇:您需要識別代表您想用於列印的印表機的 PrintQueue 物件。

  6. PrintTicket 配置:您可以選擇性地配置 PrintTicket 物件以指定列印設置,如紙張大小、方向及列印份數。

  7. 文件列印:最後,您將文件發送到選定的 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, 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# 打印到網路印表機:圖 3 - 提供專案名稱

選擇 .NET 版本。

如何使用 C# 連接網路印表機列印:圖 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. PaperOrientation:定義紙張的方向,例如自動、直向或橫向。

  3. DPI:設置每英寸點數的所需打印解析度。 預設值為 300,通常用於商業印刷。 實際的 DPI 可能受限於列印機的能力。

  4. NumberOfCopies:表示要列印文件的相同副本數量。

  5. PrinterName: 指定用於列印任務的印表機名稱。

  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,這表示將列印文件的兩份相同副本。

    • printSettingsPaperOrientation 屬性設置為 PaperOrientation.Portrait,表示文件將以直向頁面方向列印。
  5. 最後,Printer。 使用參數 "sample.pdf" 調用 Print 方法(列印文件的名稱)和 printSettings(自訂列印設定). 此方法大概是使用指定的設定來處理打印過程。

輸出

如何使用 C# 進行網絡打印:圖 9 - 示範輸出顯示已添加到打印隊列的 PDF 文件以進行打印

許可證

IronPrintIron Software是一個企業級庫,需要許可才能運行。 添加 IronPrint 授權密鑰可讓專案在沒有限制或浮水印的情況下運行。 在此購買授權或註冊免費的30天試用金鑰這裡.

獲取授權金鑰後,該金鑰需放置在應用程式的 appSettings.json 文件中。

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

這將無限制地打印文件,並且不會有浮水印。

結論

總之,IronPrint 和 System.Printing 各自有其優勢,適合不同的場景。 IronPrint 提供了一個專注於簡單性和多功能性的精簡跨平台解決方案,而 System.Printing 則提供了本地整合和細緻控制,特別適用於基於 Windows 的應用程式。 開發人員在為其 C# 專案選擇這些列印函式庫時,應考慮其特定需求和平台目標。

IronPrint 透過提供用戶友好的 API 和廣泛的跨平台及專案類型相容性,簡化了 .NET 應用程式中的文件列印。透過遵循本文所列步驟,您可以將列印功能無縫地整合到您的 .NET 專案中,提升其可用性和生產力。 探索 IronPrint 的可能性,解鎖應用程式中高效文件列印的世界。

下一個 >
如何在C#中列印QR Code

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 12,281 查看許可證 >