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

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

將 Word 文檔轉換為 PDF 是許多商業應用中的常見需求,從自動產生報告到交付專業品質的文檔,都需要使用到這項功能。 PDF檔案因其格式一致、安全可靠、易於分享等優點而普遍認可。

在本教學中,我們將指導您使用IronPDF庫在 C# 中將 Word 文件(DOCX 文件)轉換為 PDF。 本逐步指南將幫助您快速且無縫地將 Word 轉 PDF 功能整合到您的 .NET 應用程式中。

先決條件

在開始本教學之前,請確保您已準備好以下物品:

1.開發環境

  • 已安裝可正常運作的Visual Studio (建議使用 2019 或更高版本)。

  • 已安裝 .NET 6.0 或相容的 .NET 框架。
  1. IronPDF 庫

    • 透過 NuGet 安裝 IronPDF

    • 有效的 IronPDF 許可證金鑰
  2. 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 套件管理器">"管理解決方案的 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。 最後,您只需使用"另存為"將 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 讓您在儲存 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. 優化檔案大小

透過壓縮PDF 文件中的所有圖像來減少 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 轉影像轉換。
  1. 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 中透過 NuGet 安裝 IronPDF 函式庫,方法是開啟套件管理員控制台並執行指令 Install-Package 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 機器人,結合科技與創意的樂趣。