IRONSOFTWAREHOME
USING IRONPRINT

如何在 C# 中列印文件到列印機

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

直接從C#應用程式列印PDF文件是一項有價值的功能,特別是在開發需要與實體PDF文件無縫整合的應用程式時。 無論您正在開發PDF文件管理系統、銷售點應用程式或任何涉及列印的軟體,C#提供的強大程式庫可以簡化此PDF列印方法的功能。

為此目的,Microsoft C#提供一個列印方法,將PDF文件列印至預設印表機。 在本文中,我們將探討如何使用C#將PDF文件列印到印表機的步驟。

如何使用C#將文件列印到印表機

  1. 建立C# Windows Forms應用程式
  2. 使用關鍵字匯入System.Drawing.Printing
  3. 使用按鈕和其他必要的控件進行表單設計
  4. 使用PrintPage事件處理PrintDocument事件
  5. 啟動列印作業
  6. 運行應用程式並點擊列印按鈕進行列印

先決條件

在開始之前,請確保您具備以下先決條件:

  1. C#開發環境(例如,Visual Studio)。
  2. 互動印表機的適當權限。
  3. 基本的C#程式設計知識。

步驟1:設置您的專案

建立一個新的C#專案或在您偏好的開發環境中打開現有專案。 確保您的專案正確配置,並且您具備與印表機互動的必要權限。 以下過程允許您完成此過程:

安裝Visual Studio

如果您尚未安裝Visual Studio,請從官方網站下載並安裝:Visual Studio

建立新專案

  1. 打開Visual Studio。
  2. 點擊"建立新專案"。

如何使用C#將文件列印到印表機:圖1 - 新專案

選擇專案模板

  1. 在"建立新專案"對話框中,根據您的偏好選擇"Windows Forms App (.NET Framework)"或"Windows Forms App (.NET Core)"。

如何使用C#將文件列印到印表機:圖2 - Windows Forms App

  1. 為您的專案提供名稱和位置。

如何使用C#將文件列印到印表機:圖3 - 專案配置

  1. 點擊下一步,從額外資訊螢幕選擇.NET Framework,然後點擊"建立"。

設計表單

  1. 專案建立後,主表單將在設計器中顯示。
  2. 使用工具箱向表單中新增按鈕、文字框、標籤等控件。
  3. 使用屬性窗口自訂每個控件的屬性。

如何使用C#將文件列印到印表機:圖4 - 表單設計

  1. 調整表單的外觀和佈局。

如何使用C#將文件列印到印表機:圖5 - 列印表單

步驟2:匯入所需的程式庫

在您的C#程式碼文件中,匯入必要的命名空間來存取與列印相關的類別和方法。

using System.Drawing.Printing;

這些命名空間提供關鍵類別,如PrintDocumentPrintPageEventArgsPrintController,用於處理列印操作。

步驟3:處理PrintDocument事件

PrintDocument類是C#列印的基石。 處理其PrintPage事件以定義列印的內容以及格式。 讓我們從列印文字文件內容的簡單範例開始:

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    // Specify the file path
    string filePath = "C:\\path\\to\\your\\file.txt";
    // Read the content of the file
    string line = System.IO.File.ReadAllText(filePath);
    // Create a Font object (adjust as needed)
    Font font = new Font("Arial", 12);
    // Create a RectangleF to define the printing area
    RectangleF area = new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height);
    // Draw the content to the printing area
    e.Graphics.DrawString(line, font, Brushes.Black, area);
    // Set HasMorePages to false to indicate that there are no more pages to print
    e.HasMorePages = false;
}

此範例讀取一個文字文件的內容,並使用指定的字體和格式列印它。

步驟4:啟動列印作業

透過建立PrintDocument類的實例,附加PrintPage事件處理程式,然後觸發列印過程來啟動列印作業。 您可以選擇性地顯示列印對話框供使用者配置:

private void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
    // Optionally, display a print dialog for user configuration
    PrintDialog printDialog = new PrintDialog();
    if (printDialog.ShowDialog() == DialogResult.OK)
    {
        pd.PrinterSettings = printDialog.PrinterSettings;
        pd.Print();
    }
}

此程式碼建立PrintDocument實例,附加PrintPage事件處理程式,然後列印文件。 可選的列印對話框允許使用者在啟動列印作業前配置列印設定。 這將文字文件列印到本地連接的印表機。 如果不存在,則文件將列印至列印對話框中的預設印表機名稱(Microsoft Print to PDF),如下所示:

如何使用C#將文件列印到印表機:圖6 - Microsoft列印對話框

透過IronPrint程式庫進行C#高級列印

在C#控制台應用中有效處理列印功能時,IronPrint程式庫提供了一個強大的解決方案。

IronPrint簡介

IronPrint是由Iron Software開發的一個全面列印程式庫,設計用於與.NET應用程式無縫整合。 無論您正在進行桌面、網頁還是行動專案,IronPrint提供了多功能的列印PDF文件功能,支援各種文件格式並提供可自訂列印設定。

如何使用C#將文件列印到印表機:圖7 - IronPrint

主要特點

  1. **格式支援:**IronPrint支援各種文件格式,包括PDF、PNG、TIFF、GIF、JPEG和BITMAP。這種多樣性確保開發者可以處理不同型別的內容以進行列印。
  2. **可自訂設定:**開發者可以根據其應用程式的需求自訂列印設定。 這包括設置DPI(每英寸點數)、指定紙張方向(縱向或橫向)和控制副本數量的選項。
  3. **列印對話框:**IronPrint 通過允許開發者在列印前顯示列印對話框來促進無縫的使用者體驗。 這在使用者必須與列印過程互動並選擇特定選項的情況下非常有用。
  4. **靜默列印:**IronPrint提供了靜默列印功能,特別有利於自動化和提升工作流程效率。 這允許開發者在沒有使用者互動的情況下列印發票,消除手動干預需求並精簡整體過程。
  5. **跨平台相容性:**IronPrint超越平台限制,提供與多種環境的相容性,包括Windows (7+)、macOS (10+)、iOS (11+)和Android API 21+ (v5 "Lollipop")。 它無縫整合了不同的專案型別,如Mobile (Xamarin, MAUI & Avalonia)、Desktop (WPF, MAUI & Windows Avalonia) 和 Console (App & Library)。
  6. **廣泛的.NET版本支援:**無論您使用最新的.NET 8、7、6或Core 3.1+,IronPrint都支持。 它也支援.NET Framework (4.6.2+),確保在各種開發環境中具有相容性。

安裝IronPrint

在深入進行文件列印之前,您需要安裝IronPrint程式庫。 您可以輕鬆使用NuGet套件管理器控制台來執行此操作:

PM > Install-Package IronPrint

此命令行將下載並安裝IronPrint程式庫到您的C#專案中。

初始化IronPrint

安裝IronPrint後,您需要在您的C#程式碼中初始化它。 匯入IronPrint命名空間,並設置授權金鑰以確保其正常運作:

using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
    }
}

使用IronPrint列印文件

使用IronPrint列印文件很簡單。 您可以使用Printer類別,指定文件路徑到Print方法進行靜默列印PDF:

using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        // Specify the file path
        var document = "C:\\path\\to\\your\\file.pdf";
        // Print PDFs
        Printer.Print(document);
    }
}

靜默列印的好處是不需要任何使用者互動即可列印PDF,這對於需要自動化來精簡工作流程的情況非常有幫助。 對於需要使用者互動的情況,如列印前的對話框,您可以使用ShowPrintDialog,該功能實現相同結果,但帶有對話框作為額外步驟。

儘管此範例僅顯示列印PDF文件,IronPrint還支援多種文件格式,包括PDF、PNG、TIFF、GIF、JPEG、IMAGE和BITMAP。

自訂列印設定

IronPrint允許您根據應用程式需求自訂列印設定。 您可以使用PrintSettings類別配置DPI、列印份數、紙張方向等設定。 以下程式碼範例幫助您設置頁面設定並列印PDF文件:

using IronPrint;
class Program
{
    public static void Main()
    {
        IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        Console.WriteLine("Printing Started...");
        // Specify the file path
        string filePath = "C:\\path\\to\\your\\file.pdf";
        // Configure print settings
        PrintSettings printSettings = new PrintSettings();
        printSettings.Dpi = 300;
        printSettings.NumberOfCopies = 2;
        printSettings.PaperOrientation = PaperOrientation.Landscape;
        // Print the document with custom settings
        Printer.Print(filePath, printSettings);
        // Print using the Print dialog
        Printer.ShowPrintDialog(filePath, printSettings);
    }
}

這就是輸出的樣子:

如何使用C#將文件列印到印表機:圖8 - 自訂列印輸出

如果沒有安裝實體印表機,則使用預設印表機列印PDF文件。 要獲取所有可用的印表機,您還可以使用GetPrinterNames方法。

// Retrieve printers' name
List<string> printersName = Printer.GetPrinterNames();
foreach (string printer in printersName)
{
    Console.WriteLine(printer);
}

如需更多詳細資訊,請存取文件頁面

結論

使用System.Drawing.Printing命名空間提供的功能,C#中文件列印是一項易於管理的任務。 透過處理PrintPage事件和使用PrintDocument類別,您可以根據具體需求調整列印過程。 這份全面指南已涵蓋從C#應用程式列印文件的基本步驟,提供了一個堅實的基礎,使您能夠將此功能整合到您的專案中。

對於尋求高級功能、擴展性和自動化的開發者來說,IronPrint是一個理想的解決方案。 其直觀的API和額外的功能超越了Microsoft提供的基本套件。 隨著我們更深入地探討IronPrint,我們發現了包括支援多種文件型別、能夠合併圖像、改善格式化以更好地滿足應用程式特定需求的定制選項。

將IronPrint整合到您的C#應用程式中可以簡化文件列印到印表機的過程。 憑藉對多種文件格式和可自訂列印設定的支援,IronPrint為希望提升其列印能力的開發者提供了一個強大解決方案。 無論您正在進行桌面、網頁或行動專案,IronPrint簡化了列印過程,使其成為您.NET工具包中的寶貴補充。 透過探索我們的免費試用頁面,發現IronPrint的好處。 從這裡下載程式庫,親自體驗其功能!

IronPrint提供免費試用頁面以獲取更多資訊。 從這裡下載該程式庫並試用。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預約您的免費
現場演示
Booking Badge

全球數百萬工程師信賴

Iron Software的客戶標誌
獲得非義務性諮詢
完成下列表單或發郵件到sales@ironsoftware.com
您的資訊將始終保密。
全球數百萬工程師信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立