使用 IRONPDF

如何在C#中將Word(Docx)轉換為PDF(教程)

介紹

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

在本教程中,我們將指導您使用IronPDF庫在C#中將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 文件(匯出為 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
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
$vbLabelText   $csharpLabel

或者,您可以通過 Visual Studio 中的 NuGet 套件管理器安裝它。 只需進入工具 > 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)  
    {  
        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)  
    {  
        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)
		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 輸出:

添加水印

水印對於品牌塑造或標記敏感文件非常有用。 您可以在轉換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)
    {
        DocxToPdfRenderer renderer = new DocxToPdfRenderer();

        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

        renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(15, 15);

        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");

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

        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)
    {
        DocxToPdfRenderer renderer = new DocxToPdfRenderer();

        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

        renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(15, 15);

        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");

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

        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)
		Dim renderer As New DocxToPdfRenderer()

		renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait

		renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(15, 15)

		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")

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

		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轉換的最佳實踐

優化檔案大小

降低 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 格式。

    • 它支持進階的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專案!

Chipego
奇佩戈·卡林达
軟體工程師
Chipego 擁有天生的傾聽技能,這幫助他理解客戶問題,並提供智能解決方案。他在獲得信息技術理學學士學位後,于 2023 年加入 Iron Software 團隊。IronPDF 和 IronOCR 是 Chipego 專注的兩個產品,但隨著他每天找到新的方法來支持客戶,他對所有產品的了解也在不斷增長。他喜歡在 Iron Software 的協作生活,公司內的團隊成員從各自不同的經歷中共同努力,創造出有效的創新解決方案。當 Chipego 離開辦公桌時,他常常享受讀好書或踢足球的樂趣。
< 上一頁
C# 教程:使用 IronPDF 建立 PDF 文本內容檢視器(Windows Forms)
下一個 >
如何在 C# 中讀取 PDF 檔案