使用 IRONPRINT

如何在 C# 中靜默列印 PDF 檔案

里根普恩
里根普恩
2023年3月29日
分享:

PDF 文件是一種可攜式文件格式,可以以所需格式存儲和傳輸數據。 它保留了儲存資料的格式,讓使用者能專注於處理數位文件的其他方面。 列印數位文件是一項繁瑣的任務,因為數據在不同平台上的顯示方式會有所不同。 但以 PDF 文件傳送資料有助於保留打印格式。 然而,以程式方式打印 PDF 檔案對於 C# 的開發者來說可能是一項挑戰。 得益於IronPDF - C# PDF Library,打印 PDF 文件的過程變得極其簡單且毫不費力。

本文將說明如何使用IronPDF庫在C#中靜默列印PDF檔案。

IronPDF - C# PDF 庫

IronPDF 是一個 C# .NET 程式庫,讓開發者可以創建、閱讀和編輯 PDF 文件。 這是一個頂尖的 C# 程式庫,並以準確性、易用性和速度為優先。 它專為C#, F#, 和 VB.NET設計,與.NET 7, 6, 5, Core, Standard, 或 Framework高度兼容。它利用IronPDF強大的Chromium引擎,幫助從HTML生成適用於Web、桌面和控制台的PDF。

此外,IronPDF 允許用戶操作和編輯 PDF,輕鬆添加頁首和頁尾,提取 PDF 中的文字和圖像。

一些重要的功能包括:

  • 從不同的文件格式加載和生成 PDF 文件
  • 使用預設打印機保存並打印 PDF 檔案
  • 合併和拆分 PDF 文件
  • 無需 Adobe Reader 的 PDF 編輯器

使用 IronPDF 庫在 C# 中無聲列印 PDF 文件的步驟

若要無聲列印 PDF 文件,首先我們需要在本地電腦上安裝以下元件。

  1. Visual Studio 是 C# 開發的官方 IDE,必須安裝在電腦上。 您可以從Visual Studio 官網下載並安裝。

  2. 建立專案 - 要在 C# 中創建一個用於 PDF 列印的控制台應用程式,請按照使用 Visual Studio 2022 的步驟進行:

    • 打開 Visual Studio,然後點擊建立新專案。
      Visual Studio

      Visual Studio

  • 選擇 C# 控制台應用程式並點擊下一步

    新專案對話框

    新專案對話框

  • 現在,輸入您的專案名稱,選擇位置,然後點擊下一步

    網頁表單

    網頁表單

  • 為您的應用程式選擇最新的 .NET Framework。 我們將使用穩定版本 6.0。

    額外資訊

    額外資訊

  • 點擊建立,控制台專案已創建,我們已準備好以程式化方式列印 PDF 文件。
  1. 安裝 IronPDF - 有三種方法可以下載和安裝 IronPDF 庫。 如下:

    • 使用 Visual Studio - Visual Studio 擁有 NuGet 套件管理器,可以幫助在 C# 專案中安裝 NuGet 套件。

      • 在功能表列中點擊工具,或

      • 在方案總管中右鍵單擊專案檔案
        解決方案總管

        解決方案總管

        Project Menu > Manage NuGet Packages

        Project Menu > Manage NuGet Packages

  • 開啟後,在 NuGet 套件管理器中瀏覽 IronPDF 並安裝,如下所示:

    從 NuGet 套件安裝 IronPDF

    從 NuGet 套件安裝 IronPDF

  • 直接下載 NuGet 套件 - 下載 IronPDF 的另一種方式是前往 NuGet 網站並直接下載該套件。 這是連結 https://www.nuget.org/packages/IronPdf/

    • 下載 IronPDF .DLL 程式庫 - 您也可以直接從 IronPDF 網站下載 IronPDF。請前往:IronPDF DLL 下載 進行安裝。 在您的專案中參考 .DLL 檔案以使用它。

生成 PDF 檔案和列印任務

在此我們將從 URL 生成 PDF 檔案。 創建 PDF 文件很容易,通常是兩個步驟的過程。 以下程式範例產生一個 PDF:

using IronPdf;

ChromePdfRenderer Renderer = new ChromePdfRenderer();
PdfDocument Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
using IronPdf;

ChromePdfRenderer Renderer = new ChromePdfRenderer();
PdfDocument Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Imports IronPdf

Private Renderer As New ChromePdfRenderer()
Private Pdf As PdfDocument = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
$vbLabelText   $csharpLabel

使用上述程式碼建立了一個 PDF 文件物件,並已準備好列印。 接下來,我們將使用默認打印機紙質打印PDF文件。 代碼為單行,如下所示:

Pdf.Print();
Pdf.Print();
Pdf.Print()
$vbLabelText   $csharpLabel

Print方法會將 PDF 發送到預設的打印機進行列印。

高級列印選項

對於靜默列印,IronPDF 提供各種進階列印選項。

PdfDocument.GetPrintDocument 方法被使用,結果存儲在 System.Drawing.Printing.PrintDocument 對象中。 代碼很簡單,如下所示:

//Remember to add assembly reference to System.Drawing.dll in project

System.Drawing.Printing.PrintDocument PrintPDF = Pdf.GetPrintDocument();
//Remember to add assembly reference to System.Drawing.dll in project

System.Drawing.Printing.PrintDocument PrintPDF = Pdf.GetPrintDocument();
'Remember to add assembly reference to System.Drawing.dll in project

Dim PrintPDF As System.Drawing.Printing.PrintDocument = Pdf.GetPrintDocument()
$vbLabelText   $csharpLabel

指定打印機名稱

IronPDF還提供了指定打印機進行打印的機會。 若要指定名稱,使用 PrinterSettings.PrinterName 屬性。 首先,我們需要獲取當前的 PDF 文件對象。 代碼示例如下:

using (var printDocument = pdfDocument.GetPrintDocument())
{
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
    printDocument.Print();
}
using (var printDocument = pdfDocument.GetPrintDocument())
{
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
    printDocument.Print();
}
Using printDocument = pdfDocument.GetPrintDocument()
	printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"
	printDocument.Print()
End Using
$vbLabelText   $csharpLabel

設定打印機解析度

另一個很酷的功能是設置打印機解析度。 我們可以根據輸出來控制要列印或顯示的像素數量。 PDF 文件的 DefaultPageSettings.PrinterResolution 屬性可用於設定解析度。 以下是一個非常簡短的代碼範例:

printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
{
    Kind = PrinterResolutionKind.Custom,
    X = 1200,
    Y = 1200
};

printDocument.Print();
printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
{
    Kind = PrinterResolutionKind.Custom,
    X = 1200,
    Y = 1200
};

printDocument.Print();
printDocument.DefaultPageSettings.PrinterResolution = New PrinterResolution With {
	.Kind = PrinterResolutionKind.Custom,
	.X = 1200,
	.Y = 1200
}

printDocument.Print()
$vbLabelText   $csharpLabel

PrintToFile 方法

PdfDocument 類別提供 PrintToFile 方法,允許在 C# 中將 PDF 列印到檔案。 它將pathtofile作為參數,直接將文件列印到該位置而無需開啟列印對話框。 代碼很簡單,如下所示:

printDocument.PrintToFile(“PathToFile”, false);
printDocument.PrintToFile(“PathToFile”, false);
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'printDocument.PrintToFile("PathToFile”, false);
$vbLabelText   $csharpLabel

完整的程式碼範例如下:

using IronPdf;

ChromePdfRenderer Renderer = new ChromePdfRenderer();
PdfDocument pdfDocument = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

using (var printDocument = pdfDocument.GetPrintDocument())
{
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
    printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
    {
        Kind = PrinterResolutionKind.Custom,
        X = 1200,
        Y = 1200
    };

    printDocument.Print();
}
using IronPdf;

ChromePdfRenderer Renderer = new ChromePdfRenderer();
PdfDocument pdfDocument = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

using (var printDocument = pdfDocument.GetPrintDocument())
{
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
    printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
    {
        Kind = PrinterResolutionKind.Custom,
        X = 1200,
        Y = 1200
    };

    printDocument.Print();
}
Imports IronPdf

Private Renderer As New ChromePdfRenderer()
Private pdfDocument As PdfDocument = Renderer.RenderUrlAsPdf("https://ironpdf.com/")

Using printDocument = pdfDocument.GetPrintDocument()
	printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"
	printDocument.DefaultPageSettings.PrinterResolution = New PrinterResolution With {
		.Kind = PrinterResolutionKind.Custom,
		.X = 1200,
		.Y = 1200
	}

	printDocument.Print()
End Using
$vbLabelText   $csharpLabel

當程式碼執行時,它會將 URL 轉換為 PDF 文件。 然後,使用 GetPrintDocument 方法來靜默列印 PDF 文檔。 成功編譯並執行程式檔後,將出現一個印表機對話框以將其儲存為 PDF 文件。 然後使用提供的打印機名稱保存 PDF。

Csharp Print Pdf Silently 8 related to PrintToFile 方法

Csharp Print Pdf Silently 9 related to PrintToFile 方法

摘要

在本文中,我們仔細研究了如何使用IronPDF靜默列印PDF文件。 IronPDF 在 PDF 列印時提供許多有用的選項。 它也可以追踪打印的頁面,並且允許您在頁面範圍內打印。

無聲列印及其他列印選項使 IronPDF 在處理 PDF 時成為 C# 中脫穎而出的函式庫。

IronPDF 協助將數據從不同格式轉換為 PDF,並從 PDF 轉換為不同格式。 這使開發人員在應用程式開發過程中輕鬆整合 PDF 功能。 此外,查看和編輯 PDF 文件不需要 Adobe Acrobat Reader。

IronPDF可供個人開發免費使用,並可授權用於商業用途。 它提供[免費試用授權](#trial-license" class="js-modal-open" data-modal-id="trial-license)以訪問和測試該程式庫的全部功能。 您可以在此鏈接查看更多詳細信息。

里根普恩
軟體工程師
Regan 畢業於雷丁大學,擁有電子工程學士學位。在加入 Iron Software 之前,他的工作角色讓他專注於單一任務;而他在 Iron Software 工作中最喜歡的是他所能承擔的工作範圍,無論是增加銷售價值、技術支持、產品開發或市場營銷。他喜歡了解開發人員如何使用 Iron Software 庫,並利用這些知識不斷改進文檔和開發產品。
< 上一頁
如何在 C# 中無對話框列印 PDF 檔案
下一個 >
如何在不使用 Adobe 的情況下用 C# 列印 PDF 文件

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

查看許可證 >