使用 IRONPRINT

C#以程式方式列印PDF(程式碼範例教學)

發佈 2022年8月31日
分享:

在應用程式中,有多種情況需要使用列印到 PDF 文件的功能。這是一項有時看似難以實現的任務,但事實並非如此。有多種工具和第三方庫可用於 .NET 應用程式,都能提供這些功能。它們各有優缺點,有些是需要付費的,有些有性能問題,有些難以使用,而有些則無法提供所需的功能。

IronPDF 最適用於這些目的,並且通常推薦用於處理PDF打印。它免費供開發使用,易於使用並提供高效能。它與所有 .NET 框架和語言(包括C#, VB.NET和F#)相容。此外,它也相容於任何類型的 .NET 應用程式,如網絡應用程式 (Forms 或 .NET Core), Azure Functions,以及確定 Windows Forms 或 Console Applications。

讓我們來看看一些列印 PDF 文件的範例程式碼片段。

安裝 IronPDF

首先,安裝 IronPDF NuGet 套件. 前往 NuGet 套件管理員 > 為方案管理 NuGet 套件,如下所示。

C# 程式化列印 PDF(代碼示例教學),圖 1:導航至 NuGet 套件管理員

導航到 NuGet 套件管理器

點擊瀏覽,然後按照下面顯示的內容搜索 IronPDF。

C# 以程式方式列印 PDF(程式碼範例教學),圖 2:在 NuGet 套件管理器中搜尋 IronPdf 套件

在 NuGet 套件管理器中搜索 IronPdf 套件

按下「安裝」按鈕。IronPDF NuGet 套件將會被安裝。

我們來建立一個 PDF 文件,以便稍後列印。

生成 PDF 文件

在本節中,IronPDF 提供了一種使用 URL 生成 PDF 文件的簡便方法。

以下代碼片段將從 URL 創建一個 PDF 文件。

IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
Dim renderer As New IronPdf.ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
VB   C#

打印到文件

列印到檔案 此方法由 IronPDF 提供。在參數中傳遞檔案路徑和名稱。以下代碼展示了它的使用方式。

pdf.PrintToFile("D:/My Folder/ironpdf.pdf");
pdf.PrintToFile("D:/My Folder/ironpdf.pdf");
pdf.PrintToFile("D:/My Folder/ironpdf.pdf")
VB   C#

此語句將把 PDF 文件列印到指定路徑。這與微軟的列印為 PDF 功能相似。

打印至預設印表機

使用 PrintToFile 函數將直接使用預設印表機進行打印,除非另有指定,否則可通過將印表機名稱作為參數傳遞給它。以下代碼演示了其用法。

pdf.PrintToFile("D:/My Folder/ironpdf.pdf","printer name");
pdf.PrintToFile("D:/My Folder/ironpdf.pdf","printer name");
pdf.PrintToFile("D:/My Folder/ironpdf.pdf","printer name")
VB   C#

顯示 GUI 打印對話框

要使用 GUI 打印對話框選擇打印機設置,IronPDF 的功能還可以向用戶顯示打印 GUI 對話框。

pdf.PrintToFile("D:/My Folder/ironpdf.pdf", showPreview: true);
pdf.PrintToFile("D:/My Folder/ironpdf.pdf", showPreview: true);
pdf.PrintToFile("D:/My Folder/ironpdf.pdf", showPreview:= True)
VB   C#

只需將真值傳遞給列印函數的參數。這是默認為假的。IronPDF展示了完成這些列印任務有多麼簡單。pdf.PrintToFile 函數列印到預設打印機。

要列印的副本數量

IronPDF 也提供設定,用來指定需要列印的文件副本數量。以下的範例程式碼展示了這一點。

pdf.GetPrintDocument().PrinterSettings.Copies = 3;
pdf.GetPrintDocument().PrinterSettings.Copies = 3;
pdf.GetPrintDocument().PrinterSettings.Copies = 3
VB   C#

在這裡,pdf 是一個當前的列印文件物件。

列印 PDF 文件:從頁面屬性開始

假設用戶不想列印整份文件,而是只想從特定頁面開始列印。IronPDF 提供了 PrinterSettings.FromPage 屬性來達成這個目的。只需將頁碼指定給這個屬性。我們來看看 C# 的快速示範。

pdf.GetPrintDocument().PrinterSettings.FromPage = 5;
pdf.GetPrintDocument().PrinterSettings.FromPage = 5;
pdf.GetPrintDocument().PrinterSettings.FromPage = 5
VB   C#

列印 PDF 文件: 到頁屬性

要指定要列印的最後一頁,可以使用 PrinterSettings.ToPage 屬性。只需將頁碼賦值給此屬性即可。以下程式碼示範了其用法:

pdf.GetPrintDocument().PrinterSettings.ToPage = 8;
pdf.GetPrintDocument().PrinterSettings.ToPage = 8;
pdf.GetPrintDocument().PrinterSettings.ToPage = 8
VB   C#

上面的程式碼將設定文件的最後一頁列印。

設定打印機的裝訂屬性

IronPDF 也提供了先進的打印功能,而"裝訂"就是其中之一。

當打印時,Collate的意思是,如果您打印多份多頁文檔,則每份副本的所有頁面都會在打印第二份副本之前打印完成。此屬性可以設置為 true 或 false。

pdf.GetPrintDocument().PrinterSettings.Collate = false;
pdf.GetPrintDocument().PrinterSettings.Collate = false;
pdf.GetPrintDocument().PrinterSettings.Collate = False
VB   C#

例如,如果 Collate 屬性設置為 false,它將在打印下一頁之前打印所有需要的複本。換句話說,將此屬性設置為 false 將提供 Collate 屬性的反向功能。

獲取預設頁面設定

要獲取印表機的預設頁面設定,請使用以下程式碼。

var defaultSetting = pdf.GetPrintDocument().PrinterSettings.DefaultPageSettings;
var defaultSetting = pdf.GetPrintDocument().PrinterSettings.DefaultPageSettings;
Dim defaultSetting = pdf.GetPrintDocument().PrinterSettings.DefaultPageSettings
VB   C#

此預設設定可在程式中稍後使用。

雙面列印

IronPDF 提供了 PrinterSettings.CanDuplex 屬性,它返回 true 或 false,告訴我們這台打印機是否支持雙面打印。以下代碼範例展示了它的使用。

bool isDuplex = pdf.GetPrintDocument().PrinterSettings.CanDuplex;
bool isDuplex = pdf.GetPrintDocument().PrinterSettings.CanDuplex;
Dim isDuplex As Boolean = pdf.GetPrintDocument().PrinterSettings.CanDuplex
VB   C#

如果打印機支持雙面列印,以下程式碼展示瞭如何與打印機的雙面列印設置進行互動。

var duplexSettings = pdf.GetPrintDocument().PrinterSettings.Duplex;
var duplexSettings = pdf.GetPrintDocument().PrinterSettings.Duplex;
Dim duplexSettings = pdf.GetPrintDocument().PrinterSettings.Duplex
VB   C#

獲取紙張來源

以下程式碼顯示如何獲取打印機的紙張來源。

var paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources;
var paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources;
Dim paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources
VB   C#

結論

IronPDF 提供所有在開發需要列印功能的 .NET 應用程式時所需的功能。列印 PDF 文件有多種方式。IronPDF 也提供列印多個 PDF 文件的功能。

摘要

本教程展示了如何使用 IronPDF 庫以非常簡單的方式列印 PDF:通過 URL 生成 PDF 文件、將 PDF 列印到文件、將 PDF 列印到默認打印機、指定列印副本數量、指定起始和終止頁、排序屬性及獲取紙張來源。IronPDF 對於開發是免費的並且提供高性能。請訪問示例頁面以了解更多。 更多列印 PDF 的功能 使用IronPDF。

此外,IronPDF 是使用C#處理PDF相關任務的完美工具。IronPDF 為開發人員提供了多種方法来 將 PDF 文件渲染成圖像, 提取文字和內容 從PDF中。此外,IronPDF還能夠 渲染圖表 在PDF檔案中, 添加條碼,甚至 處理PDF表單 以程式方式。

目前有許多其他有用的庫,如 IronXL 用於處理 Excel 表格、IronBarcode 用於讀取和生成條碼,以及 IronOCR 用於從圖像或 PDF 文件中提取文本。您現在可以通過購買完整的 Iron Suite,以兩個庫的價格獲得全部五個庫。請訪問 授權頁面,了解更多詳情。

< 上一頁
如何在 C# Windows 應用程式中列印 PDF 檔案
下一個 >
C# 將 PDF 發送到打印機(步驟指南)

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

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