如何使用C#將DOCX轉換為PDF

How to Convert Microsoft Word to PDF in C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 允許 C# 開發人員使用 DocxToPdfRenderer 類通過簡單的一行方法調用將 DOCX 文件轉換為 PDF 格式,保留所有格式並支持郵件合併功能以進行批量文件生成。

DOCX 文件是使用 Microsoft 提供的 Microsoft Office 套件中的字處理程式 Microsoft Word 建立的文件。 它使用 Office Open XML (OOXML) 標準,使其高效並與各種軟體相容。 自 Word 2007 起,它是 Word 文件的預設格式,取代了以前發布的 DOC 格式。 DOCX 格式提供了多種優勢,包括通過 ZIP 壓縮獲得更小的文件大小、更好的資料恢復能力,並提升了跨平台的相容性。

IronPDF 能夠立即將 Word 文件轉換為 PDF 文件,並提供郵件合併功能,以便為單個收件人生成個性化的文件批量。 從 DOCX 轉換為 PDF 可確保通用相容性、保留格式並增加一層安全性。 當您需要分發在不同裝置和操作系統上保持完全外觀一致的文件時,此功能特別有用,類似於 從 HTML 建立 PDF將圖像轉換為 PDF

快速入門:使用 IronPDF 轉換 DOCX 為 PDF

using IronPDF 輕鬆在 C# 中將 DOCX 文件轉換為 PDF。 此快速指南演示了如何使用 DocxToPdfRenderer 類和 RenderDocxAsPdf 方法在一行程式碼中實現無縫轉換。 非常適合希望精簡文件處理的開發人員,確保生成的 PDF 保留所有原始格式和相容性。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 複製並運行這段程式碼片段。

    new IronPdf.DocxToPdfRenderer()
        .RenderDocxAsPdf("document.docx")
        .SaveAs("output.pdf");
  3. 部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronPDF,透過免費試用

    arrow pointer


如何將 DOCX 文件轉換為 PDF?

IronPDF 允許開發人員以程式化的方式將 Word 文件轉換為 PDF,以增加效率並允許其整合到現有的 .NET 應用程式或任何他們可能擁有的跨平台 .NET Framework應用中。 程式庫支持多種安裝方法,包括 NuGet 套件,並且可以部署在多平台上,包括 WindowsLinuxmacOS

將 Microsoft Word 文件轉換為 PDF 格式的轉換過程非常簡單。 我們首先實例化 DocxToPdfRenderer 類。 利用 RenderDocxAsPdf 方法提供 DOCX 文件路徑的 DocxToPdfRenderer 物件返回 PdfDocument 物件,允許您進一步自訂 PDF,包括新增 頁首和頁尾、應用 水印,或設置 安全選項。 您可以下載現代時間順序簡歷 DOCX 範例文件

原始文件看起來如何?

Microsoft Word 顯示現代藥劑師簡歷,以紅色強調,按時間順序排列

如何編寫 C# 程式碼?

此外,RenderDocxAsPdf 方法還接受作為字節和流的 DOCX 資料。 此靈活性允許您處理來自多來源的文件,無論它們是儲存在磁碟中、記憶體中,或從資料庫檢索。 該方法在內部處理所有複雜的轉換邏輯,確保字體、圖像、表格和格式準確地保留。

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-from-file.cs
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()

' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")

' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
$vbLabelText   $csharpLabel

對於更高級的情景,您也可以從字節陣列或流進行轉換:

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-3.cs
// Convert from byte array
byte[] docxBytes = File.ReadAllBytes("document.docx");
PdfDocument pdfFromBytes = renderer.RenderDocxAsPdf(docxBytes);

// Convert from stream
using (FileStream stream = new FileStream("document.docx", FileMode.Open))
{
    PdfDocument pdfFromStream = renderer.RenderDocxAsPdf(stream);
}
Imports System.IO

' Convert from byte array
Dim docxBytes As Byte() = File.ReadAllBytes("document.docx")
Dim pdfFromBytes As PdfDocument = renderer.RenderDocxAsPdf(docxBytes)

' Convert from stream
Using stream As New FileStream("document.docx", FileMode.Open)
    Dim pdfFromStream As PdfDocument = renderer.RenderDocxAsPdf(stream)
End Using
$vbLabelText   $csharpLabel

轉換後的 PDF 會看起來怎樣?

生成的 PDF 保留所有原始格式,包括字體、顏色、佈局和嵌入圖像。 這使得 IronPDF 成為生成需在全世界共享或封存的專業文件的理想選擇。


Icon Quote related to 轉換後的 PDF 會看起來怎樣?

我最喜歡的程式庫是IronPDF。它允許快速高效地操作PDF文件。它還有許多有價值的功能,例如導出到PDF/A格式和數位簽署PDF文件。

Milan Jovanovic related to 轉換後的 PDF 會看起來怎樣?

Milan Jovanovic

Microsoft MVP

查看案例研究
Icon Quote related to 轉換後的 PDF 會看起來怎樣?

IronOCR意味著我們每年可以從手動處理中節省$40,000,同時提高生產力,釋放資源以進行高影響的任務。我會強烈推薦它。

Brent Matzelle related to 轉換後的 PDF 會看起來怎樣?

Brent Matzelle

首席技術官,OPYN

查看案例研究
Icon Quote related to 轉換後的 PDF 會看起來怎樣?

IronSuite在我們的運營中扮演著至關重要的角色。這些工具增加了包括建立平面圖和改善庫存管理在內的業務效率。

David Jones related to 轉換後的 PDF 會看起來怎樣?

David Jones

首席軟體工程師,Agorus Build

查看案例研究

如何使用郵件合併進行批量 PDF 生成?

位於 Microsoft Word 的"郵件"選項卡上的郵件合併允許您建立一批具有個性化資訊的文件,供每位收件人或資料輸入。 它通常用於生成個性化信件、信封、標籤或電子郵件資訊,如邀請函、通訊或代發信件,其中大多數內容相同,但某些細節因每位收件人不同而不同。 結合 IronPDF 的合併多個 PDF功能或與自訂元資料生成文件功能時,此功能特別強大。

我應該建立什麼資料模型?

首先,讓我們建立一個模型以儲存將郵件合併進入其相應佔位符的資訊。 您的資料模型中的屬性名稱必須與 Word 模板中的合併字段名稱完美匹配(大小寫敏感)。

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-mail-merge-model.cs
internal class RecipientsDataModel
{
    public string Date { get; set; }
    public string Location{ get; set; }
    public string Recipients_Name { get; set; }
    public string Contact_Us { get; set; }
}
internal class RecipientsDataModel
{
    public string Date { get; set; }
    public string Location{ get; set; }
    public string Recipients_Name { get; set; }
    public string Contact_Us { get; set; }
}
internal class RecipientsDataModel
{
    public string Date { get; set; }
    public string Location{ get; set; }
    public string Recipients_Name { get; set; }
    public string Contact_Us { get; set; }
}
Friend Class RecipientsDataModel
    Public Property [Date] As String
    Public Property Location As String
    Public Property Recipients_Name As String
    Public Property Contact_Us As String
End Class

Friend Class RecipientsDataModel
    Public Property [Date] As String
    Public Property Location As String
    Public Property Recipients_Name As String
    Public Property Contact_Us As String
End Class
$vbLabelText   $csharpLabel

我已修改由 Microsoft Word 提供的範本以適合我們的用途。 請下載派對邀請 DOTX 範例文件。 對於我們的用例,讓我們將 MailMergePrintAllInOnePdfDocument 屬性設置為 true,這將 PDF 合併到一個單一的 PdfDocument 物件中。 我們將使用的合併字段包括 Recipient's NameContact Us

郵件合併範本看起來如何?

Word 郵件合併派對邀請範本顯示合併字段和郵件合併工具的郵件功能區

如何實現郵件合併程式碼?

IronPDF 中的郵件合併功能支持通過 DocxPdfRenderOptions 類配置的各種渲染選項。 這使您能夠控制如頁面方向、邊距等方面,以及是否將所有合併的文件合併為單個 PDF 或生成單獨文件。

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-mail-merge.cs
using IronPdf;
using System.Collections.Generic;
using System.Linq;

var recipients = new List<RecipientsDataModel>()
    {
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Olivia Smith",
            Contact_Us = "support@ironsoftware.com"
        },
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Ethan Davis",
            Contact_Us = "support@ironsoftware.com"
        },
    };

DocxToPdfRenderer docxToPdfRenderer = new DocxToPdfRenderer();

// Apply render options
DocxPdfRenderOptions options = new DocxPdfRenderOptions();

// Configure the output PDF to be combined into a single PDF document
options.MailMergePrintAllInOnePdfDocument = true;

// Convert DOTX to PDF
var pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf<RecipientsDataModel>(
     recipients,
     "Party-invitation.dotx",
     options);

pdfs.First().SaveAs("mailMerge.pdf");
Imports IronPdf
Imports System.Collections.Generic
Imports System.Linq

Private recipients = New List(Of RecipientsDataModel)() From {
	New RecipientsDataModel() With {
		.Date ="Saturday, October 15th, 2023",
		.Location="Iron Software Cafe, Chiang Mai",
		.Recipients_Name="Olivia Smith",
		.Contact_Us = "support@ironsoftware.com"
	},
	New RecipientsDataModel() With {
		.Date ="Saturday, October 15th, 2023",
		.Location="Iron Software Cafe, Chiang Mai",
		.Recipients_Name="Ethan Davis",
		.Contact_Us = "support@ironsoftware.com"
	}
}

Private docxToPdfRenderer As New DocxToPdfRenderer()

' Apply render options
Private options As New DocxPdfRenderOptions()

' Configure the output PDF to be combined into a single PDF document
options.MailMergePrintAllInOnePdfDocument = True

' Convert DOTX to PDF
Dim pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf(Of RecipientsDataModel)(recipients, "Party-invitation.dotx", options)

pdfs.First().SaveAs("mailMerge.pdf")
$vbLabelText   $csharpLabel

最終合併的 PDF 看起來如何?

一旦建立 PDF 文件後,您便有靈活性進行額外更改。 這包括導出為符合封存和無障礙合規的 PDF/APDF/UA,以及新增用於文件驗證的數位證書。 您還可以通過合併或拆分 PDF旋轉頁面來操作各個頁面,並可以應用註解書籤以改善文件導航。

除了這些功能之外,IronPDF 還支持轉換其他文件格式。 例如,您可以將 Markdown 轉換為 PDF將 RTF 轉換為 PDF,甚至將 PDF 重新匯出回 HTML。 有關 IronPDF 所提供的其他功能的更多資訊,請參考綜合HTML 到 PDF 教程

常見問題

如何在C#中將DOCX文件轉換為PDF?

使用IronPDF,您只需用DocxToPdfRenderer類在一行程式碼中將DOCX轉換為PDF。只需實例化DocxToPdfRenderer,使用您的DOCX文件路徑調用RenderDocxAsPdf方法,然後使用SaveAs方法保存輸出。

什麼是DocxToPdfRenderer類?

DocxToPdfRenderer是IronPDF專門用於將Microsoft Word文件轉換為PDF格式的類別。它提供了一個簡單的API,使開發者能夠轉換DOCX文件,同時保留所有原始格式、佈局和文件屬性。

Word到PDF的轉換是否保留格式?

是的,IronPDF的DocxToPdfRenderer保留了原始Word文件中的所有格式,包括字體、樣式、圖像、表格和佈局,確保PDF輸出與原始DOCX文件完全匹配。

我可以在將DOCX轉換為PDF時進行郵件合併嗎?

是的,IronPDF支持郵件合併功能,允許您從單個DOCX模板生成個性化的PDF文件批次。這對於為個別收件人建立自定義文件同時保持一致格式特別有用。

將DOCX轉換為PDF的主要步驟是什麼?

過程涉及5個簡單步驟與IronPDF:1)下載C#程式庫,2)準備您的DOCX文件,3)實例化DocxToPdfRenderer類,4)使用您的文件路徑調用RenderDocxAsPdf方法,5)可選地利用郵件合併進行批處理。

為什麼我應該將Word文件轉換為PDF格式?

使用IronPDF轉換為PDF可確保在所有裝置和平台上的通用相容性,保留精確格式和佈局,增加文件安全功能,並防止不必要的編輯。無論查看軟體或操作系統是什麼,PDF都能維持其外觀。

DOCX到PDF的轉換是否相容不同平台?

是的,IronPDF支持跨平台部署,並可在Windows, Linux和macOS上使用。該程式庫與各種.NET框架應用程式相容,并提供多種安裝方法,包括NuGet包。

可以轉換哪些型別的Word文件?

IronPDF可以轉換在Microsoft Word 2007或更高版本中建立的DOCX文件,使用Office Open XML (OOXML) 標準。這包括具有複雜格式、圖像、表格和其他高級Word功能的文件。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

由...審核
Jeff Fritz
Jeffrey T. Fritz
首席計劃經理 - .NET社區團隊
Jeff還是.NET和Visual Studio團隊的首席計劃經理。他是.NET Conf虛擬會議系列的執行製作人,並主持每週兩次的開發者直播節目'Fritz and Friends',在節目中討論技術並與觀眾一起撰寫程式碼。Jeff撰寫工作坊、演講和內容計劃,為微軟開發者的最大活動如Microsoft Build、Microsoft Ignite、.NET Conf和Microsoft MVP Summit提供內容支援。
準備開始了嗎?
Nuget 下載 20,088,359 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。