如何在 C# 中列印 PDF 文件 | IronPRINT

如何在 C# 中列印 PDF 文件

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 使 C# 開發人員能夠透過單一方法呼叫,以程式化的方式直接將 PDF 檔案列印至實體印表機,並針對 .NET 應用程式中的自動化列印工作流程,提供精確的印表機設定、解析度 (DPI) 與文件處理控制。

<!--說明:說明程式碼概念的圖表或截圖 -->

從 .NET C# 程式碼傳送 PDF 到印表機可自動執行列印程序,讓您將列印功能整合到應用程式中、減少手動工作並確保文件製作的一致性。 它能夠對列印過程進行精確控制。 此功能對於在沒有使用者介入的情況下產生發票、報告或任何需要實體複本的文件的應用程式來說非常重要。

IronPdf 提供了一個選項,可以在一個方法呼叫中以程式化的方式列印到實體印表機,讓您可以列印多個 PDF 檔案。 印表機解析度也可以透過配置水平和垂直 DPI 來指定。 使用同時接受 Microsoft PrinterSettingsPrintController方法,可以進一步控制 PDF 列印過程。 在開始列印之前,請確認您已在 .NET 專案中正確 安裝 IronPDF

快速入門:使用 IronPDF 在 .NET 中列印 PDF

使用 IronPDF,只需幾行程式碼即可輕鬆列印 PDF 文件。 本指南將向您展示如何快速將 PDF 列印功能整合到您的 .NET 應用程式中。 使用 IronPDF,您可以直接將文件發送到印表機,只需極少的設置,同時還能享受靈活的設置和高品質的輸出。 立即開始,簡化您的文件工作流程。 如需瞭解更多進階的列印情境,請探索我們全面的紙張列印 PDF 指南。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronPDF

    PM > Install-Package IronPdf

  2. 複製並運行這段程式碼。

    IronPdf.PdfDocument.FromFile("example.pdf").Print();
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronPDF,免費試用!
    arrow pointer


如何使用 IronPDF 列印 PDF 檔案? `Print`方法可透過`PdfDocument`物件實現,讓您列印新建立的和現有的 PDF 檔案。 預設情況下,此方法使用系統的預設印表機,但您可以透過將印表機名稱作為字串傳遞給`Print`方法來指定不同的印表機。 無論您是動態產生文件或處理預先存在的 PDF,這種靈活性都能讓您輕鬆地將 PDF 列印整合至現有的工作流程中。 所有列印功能僅在 Windows 系統上支援。

我可以針對哪些印表機? IronPDF 支援列印至 Windows 系統上任何已安裝的印表機,包括網路印表機、"Microsoft Print to PDF"等虛擬印表機,以及透過 USB 或網路連接的實體印表機。 若要特別列印至網路印表機,請參閱我們的 [ 網路印表機故障排除指南](https://ironpdf.com/troubleshooting/print-from-network-printer/),以獲得更多組態提示。 ```csharp :path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print.cs ```

當我將 PDF 傳送至列印時會發生什麼? 當您調用 `Print` 方法時,IronPDF 會將您的 PDF 文件傳送至 Windows 列印 spooler,由其管理所選印表機的列印佇列。 文件會出現在列印佇列中,並顯示檔案名稱、大小和狀態等詳細資訊。 然後,列印 spooler 會根據印表機的功能和目前的佇列位置來處理文件。
Windows 列印佇列顯示 Microsoft 列印至 PDF,佇列中有文件,並顯示工作狀態和檔案詳細資料

如何控制列印品質和解析度? <!--說明:說明程式碼概念的圖表或截圖 --> 您可以透過向 `Print` 方法提供所需的 DPI 值來指定列印 PDF 的解析度,此方法會在水平和垂直尺寸上套用相同的 DPI。 若要使用不同的 DPI 值,請向此方法傳遞兩個參數:第一個參數用於水平 (x) DPI,第二個參數用於垂直 (y) DPI。 較高的 DPI 值可產生較佳的列印品質,但會導致檔案大小較大、處理時間較長。

何時應該調整 DPI 設定? 不同的列印情境需要不同的 DPI 設定。 對於標準的辦公室文件,150-300 DPI 可提供良好的品質。 對於高品質的圖形或照片,請使用 600 DPI 或更高。 草稿列印可使用 72-150 DPI,以節省時間與資源。 在建立僅供數位檢視的 PDF 時,請參考我們的 [ PDF 壓縮指南](https://ironpdf.com/how-to/pdf-compression/),以最佳化檔案大小。 ```csharp :path=/static-assets/pdf/content-code-examples/how-to/print-pdf-dpi.cs ```

哪些 DPI 值最適用於不同的列印類型? 接下來,我們來看一個例子,如何柵格化和列印 PDF 檔案。 DPI 的選擇取決於您的特定需求: - **文字文件**: 300 DPI 提供清晰、可讀的文字 - **混合內容(文字與影像)**:300-400 DPI 可平衡品質與檔案大小 - **高品質照片**:600 DPI 或更高,可保留影像細節 - **草稿列印**:150 DPI,適用於快速審閱副本 - **檔案品質**:1200 DPI,可長期保存

如何在不進行實體列印的情況下儲存 PDF? `PrintToFile`方法透過將 PDF 文件轉換為點陣圖(基於像素)影像並將其儲存為 PDF 文件,從而高效地柵格化 PDF 文件。此流程由 Windows 內建印表機(例如"Microsoft Print to PDF")處理。值得注意的是,此方法將 PDF 檔案儲存到磁碟,而無需將其傳送到實體印表機。 如需儲存 PDF 的更多方法,請參閱我們的 [ 匯出和儲存 PDF 的綜合指南](https://ironpdf.com/how-to/export-save-pdf-csharp/)。

為何使用 PrintToFile 而非一般儲存? 當您需要在沒有實體輸出的情況下模擬列印過程時,PrintToFile 提供了獨特的優勢。 它對於建立可直接列印的檔案、測試列印佈局或產生與紙張上顯示的內容完全相符的文件特別有用。 當您需要將 PDF 轉換為特定格式或套用印表機特定的轉換時,此方法也能幫上忙。 ```csharp :path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print-to-file.cs ```

光柵化有哪些優點? 透過 PrintToFile 進行光柵化可提供多種優點: - **一致的外觀**:確保 PDF 在不同的檢視器中看起來完全相同。 - **字體嵌入**:將文字轉換為影像,消除字型相容性問題 - **安全性**:使文字不可選擇且更難擷取 - **列印預覽**:準確顯示文件列印時的外觀 - **檔案大小最佳化**:可縮小複雜向量圖形的檔案大小 如需在記憶體中處理 PDF 而不儲存至磁碟,請參閱我們的 [PDF to MemoryStream 指南](https://ironpdf.com/how-to/pdf-to-memory-stream/)。

如何存取進階印表機設定? 若要自訂列印選項,請使用`GetPrintDocument`方法,該方法接受 Microsoft `PrinterSettings`和`PrintController`物件。 此方法傳回目前列印文件物件。 PrinterSettings 可讓您設定頁面範圍和印表機選擇等選項,而 PrintController 可以控制列印過程,包括處理異常、進度報告、列印對話方塊、列印預覽和其他相關任務。 程式碼範例下方提供了 PrinterSettings 選項的詳細說明。 如需自訂紙張尺寸,請參閱我們的 [自訂紙張尺寸指南](https://ironpdf.com/how-to/custom-paper-size/)。

我可以設定哪些設定? ```csharp :path=/static-assets/pdf/content-code-examples/how-to/print-pdf-printer-setting.cs ```

每個 PrinterSettings 屬性控制什麼? 瞭解每個 `PrinterSettings` 屬性可協助您微調列印工作流程: - **CanDuplex**:表示印表機是否支援雙面列印。 若屬實,則可在紙張的兩面進行印刷; 否則,就無法實現。 - **Collate**:指定在列印時,是否應整理(按順序整理)多個 PDF 檔案或 PDF 文件副本。 如屬實,印表機將影印件整理好; 當結果為假時,則不會。 - **Copies**: 設定要列印的 PDF 文件份數。 它決定要列印多少份相同的文件副本。 - **預設頁面設定**:代表印表機的預設頁面設定,包括紙張大小、邊界和方向。 這對於確保您的 PDF 能在不同的紙張格式上正確列印是非常重要的。 - **Duplex**: 指定要使用的雙面列印模式。 選項包括 `Duplex.Default`、`Duplex.Simplex` (單面)、`Duplex.Horizontal` 和 `Duplex.Vertical`。 - **InstalledPrinters**:提供系統上已安裝印表機名稱的集合。 您可以遍歷此集合以取得可用印表機的名稱。 - **IsDefaultPrinter**:指示 `PrinterName` 中指定的印表機是否設定為系統上的預設印表機。 - **IsPlotter**:確定印表機是否為繪圖機。 繪圖儀印表機通常用於大幅面列印,例如建築圖或工程圖。 - **IsValid**:表示印表機設定是否有效,並可用於列印 PDF 檔案。 - **LandscapeAngle**(橫向角度):指定印表機橫向方向的角度(旋轉),通常為直向 90 度。 - **MaximumCopies**:代表可指定列印 PDF 的最大份數。 - **MaximumPage**:指定列印或轉換時可設定的最大頁數。 - **最小頁數**:指定列印或轉換時可設定的最小頁數。 - **PaperSizes**:提供印表機支援的紙張尺寸集合。 您可以查詢此系列以確定可用的紙張尺寸。 - **PaperSources**:提供印表機可用的紙源或紙盤集合。 這在選擇用於列印 PDF 文件的紙張來源時非常有用。 - **PrinterName**:指定用於列印或轉換的印表機名稱。 - **PrinterResolutions**:提供可用的印表機解析度集合,讓您選擇列印品質。 - **PrintFileName**:當使用 `PrintToFile` 列印至檔案時,取得或設定檔案名稱。 - **PrintRange**:指定要列印的 PDF 頁面的範圍,例如所有頁面、特定範圍或選取。 使用此功能可列印特定頁面。 - **FromPage**:指定列印或轉換的起始頁碼。 列印將從本頁開始。 - **ToPage**:指定列印或轉換的結束頁碼。 列印到此頁後將停止。 - **PrintToFile**:表示是否列印至檔案而非實體印表機。 為真時,您可以使用 `PrintFileName` 指定檔案路徑。 - **SupportsColor**:表示印表機是否支援彩色列印。 如果屬實,則支援彩色列印; 否則,就只能進行黑白(單色)列印。

如何設定預設印表機? 最後,若要設定預設印表機以列印 PDF,請前往機器設定中的"印表機與掃描器"部分。 在 Windows 10 和 11 中,導覽至"設定">"設備">"印表機與掃描器",然後按一下所需的印表機旁的 "管理",再選擇 "設為預設值"。這可確保 IronPDF 在未提供特定印表機名稱時,使用您偏好的印表機。 若要在列印前從頭開始建立 PDF,請探索我們的 [ 完整 PDF 建立教學](https://ironpdf.com/tutorials/csharp-create-pdf-complete-tutorial/)。

常見問題解答

如何用 C# .NET 程式化列印 PDF 檔案?

IronPDF 可讓您使用 Print() 方法,透過單一的方法呼叫,以程式化的方式列印 PDF 檔案。只需使用 IronPdf.PdfDocument.FromFile("example.pdf").Print() 載入您的 PDF 檔案,即可將其傳送至預設印表機,或指定印表機名稱以針對不同的印表機。

列印 PDF 時,我可以如何控制印表機的設定?

IronPDF 提供精確的印表機設定控制,包括解析度 (DPI)、水平與垂直。您可以使用接受 Microsoft PrinterSettings 與 PrintController 的方法來進階控制 PDF 列印流程。

我可以列印到特定的印表機,而不是預設的印表機嗎?

是的,IronPDF 允許您透過將其名稱作為字串傳給 Print 方法來指定不同的印表機。預設情況下,它會使用系統的預設印表機,但您也可以輕鬆地指定系統上任何可用的印表機。

是否可以自動列印多個 PDF 檔案?

是的,IronPDF 支援以程式化方式列印多個 PDF 檔案,使其成為批次處理和自動化工作流程的理想選擇。這對於無需使用者介入即可產生發票、報告或需要實體副本的文件的應用程式特別有用。

PDF 列印支援哪些平台?

IronPDF 專注於 .NET 應用程式,而 Iron Software 也提供 IronPrint,這是一個專用的列印函式庫,相容於 Windows、macOS、Android 和 iOS 平台,可提供更廣泛的列印功能。

如何在 .NET 專案中開始使用 PDF 列印?

首先,在您的 .NET 專案中安裝 IronPDF,然後使用簡單的工作流程:使用 PdfDocument.FromFile() 載入您的 PDF 檔案,並呼叫 Print() 方法。如需進階設定,請使用 GetPrintDocument 方法存取更多列印選項。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。

經審核
傑夫·弗里茨
傑弗裡·T·弗里茨
.NET 社群團隊首席專案經理
Jeff 同時也是 .NET 和 Visual Studio 團隊的首席專案經理。他是 .NET Conf 虛擬會議系列的執行製片人,並主持每週兩次的開發者直播節目“Fritz and Friends”,在節目中他會與觀眾一起探討技術並編寫程式碼。 Jeff 也為包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit 在內的微軟大型開發者活動撰寫研討會、簡報並策劃內容。
準備好開始了嗎?
Nuget 下載 17,012,929 | 版本: 2025.12 剛剛發布