跳過到頁腳內容
使用IRONPDF
如何在 C# 中將 Word 文件轉換為 PDF

如何使用C#將Word(Docx)轉換為PDF(教程)

role="alert"> IronWord 是 Iron Software 全新的 .NET Word 文件庫,提供尖端功能,簡化 Word 和 DOCX 文件的創建、閱讀和編輯。立即開始使用 IronWord

將 Word 文件轉換為 PDF 是許多業務應用中的常見需求,從自動化報告生成到提供專業品質的文件。 PDF 因其一致的格式、安全功能和易於分享而被普遍認可。

在本教程中,我們將指導您在 C# 中使用 IronPDF 庫將 Word 文檔(DOCX 文件)轉換為 PDF 的過程。 這個逐步指南將幫助您將 Word 到 PDF 的功能快速無縫集成到您的 .NET 應用程序中。

先决条件

在開始本教程之前,請確保您已經具備以下條件:

  1. 開發環境

    • 建議使用 Visual Studio(2019 或更高版本)的工作安裝。

    • 已安裝 .NET 6.0 或兼容的 .NET 框架。
  2. IronPDF 庫

    • 通過 NuGet 安裝 IronPDF

    • 有效的 IronPDF 授權密鑰
  3. 示例 Word 文檔

    • 準備一個 DOCX 文件(例如 example.docx)以進行測試。 您可以使用 Microsoft Word、Google Docs(導出為 DOCX)或任何兼容的編輯器創建。
  4. 基本 C# 知識

    • 熟悉 C# 中的基本文件 I/O 操作。

為什麼將 Word 文件轉換為 PDF?

PDF 相較於 DOCX 的優勢

由於以下原因,PDF 是共享和歸檔文件的黃金標準:

  • 平台獨立性:無論使用哪個操作系統或設備打開,PDF 的外觀都相同。

  • 數據完整性:文本、圖像、字體和佈局可精確保留。

  • 安全性:PDF 支持加密、密碼保護和電子簽名,確保文件保密性和真實性。

Word 到 PDF 轉換的常見場景

以下是真實世界中 Word 到 PDF 轉換必不可少的一些場景:

  • 合同和法律文件:生成保留格式且不易被編輯的合同。

  • 商業報告:共享具有一致格式的精美專業報告。

  • 發票生成:自動化生成防篡改格式的發票。

  • 文件歸檔:將重要的 Word 文件以長期不可修改的格式保存下來。

設置 IronPDF 庫

要完成本教程,您將需要 IronPDF 庫。

步驟 1:安裝 IronPDF

IronPDF 可通過 NuGet 獲得。 打開您的包管理控制台,運行:

Install-Package IronPdf

或者,您可以通過 Visual Studio 的 NuGet Package Manager 安裝它。 只需轉到工具 > NuGet Package Manager > 管理解決方案的 NuGet 包:

Word To Pdf Csharp Tutorial 1 related to 步驟 1:安裝 IronPDF

然後搜索 IronPDF。 在這裡,您可以將 IronPDF 庫安裝到您的項目中。

Word To Pdf Csharp Tutorial 2 related to 步驟 1:安裝 IronPDF

步驟 2:激活您的許可證

IronPDF 提供免費試用,但要獲得完整功能,您需要激活許可證密鑰。 要激活,只需在代碼中添加您的許可證密鑰即可:

IronPdf.License.LicenseKey = "YOUR_LICENSE_KEY_HERE";
IronPdf.License.LicenseKey = "YOUR_LICENSE_KEY_HERE";
IronPdf.License.LicenseKey = "YOUR_LICENSE_KEY_HERE"
$vbLabelText   $csharpLabel

輸入 Word 文檔

Word To Pdf Csharp Tutorial 3 related to 輸入 Word 文檔

基本示例代碼

以下示例代碼展示了將 DOCX 文件轉換為 PDF 的簡單過程。

using IronPdf;  
using System.IO;  

class Program  
{  
    static void Main(string[] args)  
    {  
        // Create a new DocxToPdfRenderer object
        DocxToPdfRenderer renderer = new DocxToPdfRenderer();

        // Convert DOCX to PDF using IronPDF  
        PdfDocument pdf = renderer.RenderDocxAsPdf("newsletter.docx");

        // Save the resulting PDF to a file  
        pdf.SaveAs("output.pdf"); 
    }  
}
using IronPdf;  
using System.IO;  

class Program  
{  
    static void Main(string[] args)  
    {  
        // Create a new DocxToPdfRenderer object
        DocxToPdfRenderer renderer = new DocxToPdfRenderer();

        // Convert DOCX to PDF using IronPDF  
        PdfDocument pdf = renderer.RenderDocxAsPdf("newsletter.docx");

        // Save the resulting PDF to a file  
        pdf.SaveAs("output.pdf"); 
    }  
}
Imports IronPdf
Imports System.IO

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new DocxToPdfRenderer object
		Dim renderer As New DocxToPdfRenderer()

		' Convert DOCX to PDF using IronPDF  
		Dim pdf As PdfDocument = renderer.RenderDocxAsPdf("newsletter.docx")

		' Save the resulting PDF to a file  
		pdf.SaveAs("output.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

輸出 PDF 文件

Word To Pdf Csharp Tutorial 4 related to 輸出 PDF 文件

代碼解釋

要開始將您的 DOCX 文件轉換為 PDF,首先我們需要實例化 DocxToPdfRenderer。 這將處理您的 Word 文檔到 PDF 格式的轉換。 下一步是創建一個新 PdfDocument 實例,該實例將保存新創建的 PDF 文檔,並使用 RenderDocxAsPdf 方法將 DOCX 文件轉換為 PDF。 最後,您只需使用 SaveAs 將 PDF 文檔保存到所需位置,完成! 您只需三個簡單的代碼行即可將 DOCX 文件轉換為 PDF。

增強 PDF 的高級功能

IronPDF 裝載了許多高級功能,幫助您定制和增強 PDF 輸出:

1. 添加水印

水印對於品牌推廣或標記敏感文件非常有用。 您可以在轉換 PDF 後添加 水印

pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
$vbLabelText   $csharpLabel

2. 向 PDF 添加頁眉

PDF 的一個常見自定義是為每頁 添加頁眉。 頁眉可以包含文檔標題、頁碼、日期或您希望顯示在 PDF 每頁頂部的任何其他信息。

TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "Weekly Newsletter!",
};

pdf.AddTextHeaders(textHeader);
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "Weekly Newsletter!",
};

pdf.AddTextHeaders(textHeader);
Dim textHeader As New TextHeaderFooter With {.CenterText = "Weekly Newsletter!"}

pdf.AddTextHeaders(textHeader)
$vbLabelText   $csharpLabel

3. 自定義 PDF 佈局

IronPDF allows you to define page settings, such as margins, orientation, and page size, before saving your PDF:

renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(20, 20);

renderer.RenderingOptions.MarginTop = 30;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 30;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(20, 20);

renderer.RenderingOptions.MarginTop = 30;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 30;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait

renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(20, 20)

renderer.RenderingOptions.MarginTop = 30
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
renderer.RenderingOptions.MarginBottom = 30
$vbLabelText   $csharpLabel

包含額外格式的完整示例代碼

using IronPdf;
using IronPdf.Rendering;

public class Program
{
    public static void Main(string[] args)
    {
        // Create a new DocxToPdfRenderer object
        DocxToPdfRenderer renderer = new DocxToPdfRenderer();

        // Set paper orientation and custom size for the PDF
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(15, 15);

        // Set margins for the PDF document
        renderer.RenderingOptions.MarginTop = 15;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;
        renderer.RenderingOptions.MarginBottom = 15;

        // Convert DOCX to PDF using IronPDF  
        PdfDocument pdf = renderer.RenderDocxAsPdf("newsletter.docx");

        // Apply a watermark to the PDF document
        pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

        // Add text headers to the PDF document
        TextHeaderFooter textHeader = new TextHeaderFooter
        {
            CenterText = "Weekly Newsletter!",
        };

        pdf.AddTextHeaders(textHeader);

        // Save the resulting PDF to a file  
        pdf.SaveAs("output.pdf");
    }
}
using IronPdf;
using IronPdf.Rendering;

public class Program
{
    public static void Main(string[] args)
    {
        // Create a new DocxToPdfRenderer object
        DocxToPdfRenderer renderer = new DocxToPdfRenderer();

        // Set paper orientation and custom size for the PDF
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(15, 15);

        // Set margins for the PDF document
        renderer.RenderingOptions.MarginTop = 15;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;
        renderer.RenderingOptions.MarginBottom = 15;

        // Convert DOCX to PDF using IronPDF  
        PdfDocument pdf = renderer.RenderDocxAsPdf("newsletter.docx");

        // Apply a watermark to the PDF document
        pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

        // Add text headers to the PDF document
        TextHeaderFooter textHeader = new TextHeaderFooter
        {
            CenterText = "Weekly Newsletter!",
        };

        pdf.AddTextHeaders(textHeader);

        // Save the resulting PDF to a file  
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Rendering

Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Create a new DocxToPdfRenderer object
		Dim renderer As New DocxToPdfRenderer()

		' Set paper orientation and custom size for the PDF
		renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
		renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(15, 15)

		' Set margins for the PDF document
		renderer.RenderingOptions.MarginTop = 15
		renderer.RenderingOptions.MarginLeft = 20
		renderer.RenderingOptions.MarginRight = 20
		renderer.RenderingOptions.MarginBottom = 15

		' Convert DOCX to PDF using IronPDF  
		Dim pdf As PdfDocument = renderer.RenderDocxAsPdf("newsletter.docx")

		' Apply a watermark to the PDF document
		pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE Copy</h2>", 40, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)

		' Add text headers to the PDF document
		Dim textHeader As New TextHeaderFooter With {.CenterText = "Weekly Newsletter!"}

		pdf.AddTextHeaders(textHeader)

		' Save the resulting PDF to a file  
		pdf.SaveAs("output.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

借助這一功能,您可以輕鬆地將 DOCX 文件轉換成適合您需求的格式化 PDF 文件。

輸出 PDF 文件

Word To Pdf Csharp Tutorial 5 related to 輸出 PDF 文件

Word 到 PDF 轉換的最佳實踐

1. 優化文件大小

Reduce PDF size by 壓縮您 PDF 中的任何圖像,以加快下載速度並改善分享體驗:

pdf.CompressImages(40);
pdf.CompressImages(40);
pdf.CompressImages(40)
$vbLabelText   $csharpLabel

2. 驗證輸入文件

確保 DOCX 文件在處理前有效存在:

if (!File.Exists(docxPath))  
{  
    throw new FileNotFoundException($"File not found: {docxPath}");  
}
if (!File.Exists(docxPath))  
{  
    throw new FileNotFoundException($"File not found: {docxPath}");  
}
If Not File.Exists(docxPath) Then
	Throw New FileNotFoundException($"File not found: {docxPath}")
End If
$vbLabelText   $csharpLabel

3. 保護您的 PDF

使用密碼加密機密文檔:

pdf.SecuritySettings.OwnerPassword = "SecurePassword123";
pdf.SecuritySettings.UserPassword = "Password";
pdf.SecuritySettings.OwnerPassword = "SecurePassword123";
pdf.SecuritySettings.UserPassword = "Password";
pdf.SecuritySettings.OwnerPassword = "SecurePassword123"
pdf.SecuritySettings.UserPassword = "Password"
$vbLabelText   $csharpLabel

關於 IronPDF

IronPDF 是一個強大的 .NET 庫,允許開發人員輕鬆創建、操作和轉換 PDF 文檔。 它提供了一系列設計用來幫助您自動化和簡化 C# 應用程序中文檔生成和處理的功能。 無論您是將 HTML、DOCX 或圖像文件轉換為 PDF,還是編輯和從現有 PDF 中提取文本,IronPDF 都以最少的代碼量簡化了這些任務。

IronPDF 的關鍵特性

  1. HTML 到 PDF 轉換

    • IronPDF 的最強大功能之一是它可以將 HTML 內容轉換為 PDF。 這對於用戶需要下載報告、發票或 PDF 格式的其他文件的 web 應用程序來說非常完美。

    • 它支持高級 HTML 和 CSS,包括 JavaScript 的執行,這確保了 PDF 輸出能夠緊密匹配網頁設計。
  2. 圖像到 PDF 轉換

    • IronPDF 還可以將圖像(如 JPEG、PNG 等)轉換為高質量 PDF,這對於創建作品集、照片書以及掃描文檔存檔非常理想。 此外,IronPDF 也支持 PDF 到圖像轉換。
  3. PDF 編輯

    • 您可以通過添加文本、圖像、形狀、註釋或水印來編輯現有 PDF。 該庫還支持合併和拆分 PDF 文件,使其成為文檔管理應用程序的理想工具。
  4. 表單填寫和 PDF 生成

    • IronPDF 允許開發人員填寫現有 PDF 中的表單字段,此功能非常適合需要填寫交互表單並將其保存為 PDF 的應用程序。
  5. 文本提取

    • IronPDF 可以從 PDF 中提取文本,然後將這些文本用於數據分析、搜尋或導出到其他格式(如 CSV 或 Excel)。 這對於需要分析 PDF 內容的文檔處理工作流來說非常理想。

結論

IronPDF 使得在 C# 中程序化地將 Word 文檔轉換為 PDF 變得簡單、可靠且功能豐富。 只需少量代碼,您即可將此功能集成到您的 .NET 應用程序中,讓用戶從 DOCX 文件生成專業的高質量 PDF。

通過利用 IronPDF,開發人員可以將工作流優化為:

  • 自動化企業的文檔生成。

  • 在跨平台分享文件時確保數據完整性。

  • 創建重要 Word 文檔的安全、防篡改存檔。

此外,高級功能(如添加水印、合併文件和應用自定義佈局)的能力,讓您能夠不僅限於基本轉換。 這些功能對於在合同管理、發票生成和報告分發等領域建立強大解決方案非常理想。

IronPDF 因其簡單性、多功能性和開發者友好的 API 而脫穎而出,使其成為任何從事 .NET 中文檔處理的人員的必備工具。 通過其 免費試用 親自嘗試 IronPDF,看看它如何幫助改進您的 PDF 項目!

常見問題解答

如何將Word檔案轉換為PDF?

您可以使用 IronPDF 將 Word 文件轉換為 PDF,方法是建立一個DocxToPdfRenderer物件並使用RenderDocxAsPdf方法。這種方法可以確保所有格式和樣式在產生的 PDF 中都得以保留。

將文件轉換為 PDF 格式有什麼好處?

將文件轉換為 PDF 格式可確保平台獨立性、維護資料完整性並增強安全性,使 PDF 成為合約、商業報告和存檔的理想選擇。

如何安裝用於 PDF 轉換的 .NET 程式庫?

您可以透過在 Visual Studio 中開啟套件管理器控制台並執行命令Install-Package IronPdf ,透過 NuGet 安裝 IronPDF 庫。

在 C# 中執行 Word 到 PDF 轉換的前提條件是什麼?

要使用 IronPDF 執行 Word 到 PDF 的轉換,您需要 Visual Studio 2019 或更高版本、.NET 6.0 或相容的框架、有效的 IronPDF 許可證、範例 DOCX 檔案以及基本的 C# 程式設計知識。

如何使用這個庫為PDF添加浮水印?

IronPDF 可讓您使用其浮水印功能為 PDF 新增浮水印,您可以自訂文字和影像的浮水印,以滿足您的文件需求。

有哪些方法可以優化PDF檔案的大小?

為了優化 PDF 檔案大小,您可以使用 IronPDF 中的CompressImages方法,該方法可以在不影響品質的情況下減少 PDF 中影像的大小。

如何加密保護我的PDF檔案?

IronPDF 提供了透過SecuritySettings屬性設定擁有者和使用者密碼來保護 PDF 的功能,從而可以有效加密文件。

該庫提供哪些進階PDF功能?

IronPDF 包含進階功能,例如新增頁首和頁尾、自訂頁面佈局(包括邊距和方向)以及將 HTML 和影像轉換為 PDF。

企業為什麼要將 Word 文件轉換為 PDF?

企業將 Word 文件轉換為 PDF,以確保跨平台呈現一致的效果,防止內容被未經授權的編輯,並方便文件的分發和存檔。

除了將 DOCX 轉換為 PDF 之外,我還可以使用此程式庫進行其他文件轉換嗎?

是的,IronPDF 還支援將 HTML 和圖像轉換為 PDF,以及編輯 PDF、填寫表單和提取文本,使其成為各種文件處理任務的多功能工具。

IronPDF 是否相容於 .NET 10,是否可以用於 Word 到 PDF 的轉換?

是的。 IronPDF 完全相容於 .NET 10,並提供新執行時間和語言特性的首日支援。在 .NET 10 專案中,Word (DOCX) 轉 PDF 功能與先前支援的版本一樣流暢。 (請參閱 IronPDF 的 .NET 版本相容性)

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。