如何使用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

DOCX 文件是由 Microsoft 的文字处理程序 Microsoft Word 创建的文档。 它使用 Office Open XML (OOXML) 标准,使其高效且与各种软件兼容。 自 Word 2007 起,它成为 Word 文档的默认格式,取代了其最初发布时的旧版 DOC 格式。

IronPDF 可以即时将 Word 文档转换为 PDF 文件,并提供邮件合并功能,以生成个性化的收件人文档批处理。 从 DOCX 到 PDF 的转换确保了通用兼容性,保留了格式,并增加了一层安全性。

快速入门:使用 IronPDF 将 DOCX 转换为 PDF

使用 IronPDF 能够在 C# 中轻松地将 DOCX 文件转换为 PDF。 此快速指南演示如何使用 DocxToPdfRenderer 类和 RenderDocxAsPdf 方法,只需一行代码即可实现无缝转换。 这对于希望简化文档处理的开发人员来说是完美的,确保生成的 PDF 保留所有原始格式及兼容性。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    new IronPdf.DocxToPdfRenderer()
        .RenderDocxAsPdf("document.docx")
        .SaveAs("output.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最简化的工作流程 (5 步)

  1. 下载用于将 DOCX 转换为 PDF 的 C# 库
  2. 准备您要转换的 DOCX 文件
  3. 实例化 DocxToPdfRenderer 类以从 DOCX 文件生成 PDF
  4. 使用 RenderDocxAsPdf 方法并提供 DOCX 文件路径
  5. 利用邮件合并功能生成文件批处理


DOCX 文件转换为 PDF 示例

IronPDF 允许开发人员将 Word 文档以编程方式转换为 PDF,简化效率并允许他们集成到现有的 .NET 应用程序或任何跨平台 .NET 框架应用程序中。

将 Microsoft Word 文件转换为 PDF 格式的过程很简单。 我们首先实例化 DocxToPdfRenderer 类。 通过提供 DOCX 文件路径来利用 DocxToPdfRenderer 对象的 RenderDocxAsPdf 方法。该方法返回一个 PdfDocument 对象,允许您进一步自定义 PDF。 您可以下载 现代时间序列简历 DOCX 示例文件

Microsoft Word 预览

class="content-img-align-center">
style="width=50%"> Microsoft Word 预览

代码示例

此外,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

输出 PDF 文件

<hr

邮件合并示例

邮件合并位于 Microsoft 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; }
}
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 对象。 我们将使用的合并字段是日期、位置、收件人姓名和联系我们。

Microsoft Word 预览

class="content-img-align-center">
style="width=50%"> Microsoft Word 预览

代码示例

: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 文档创建完成,您可以灵活地进行其他更改。 These include exporting it as PDF/A or PDF/UA, as well as adding a digital certificate. You can also manipulate individual pages by merging or splitting PDFs, rotating them, and you have the option to apply annotations and bookmarks.

除了这些功能外,IronPDF 还支持转换为其他文档格式。 有关 IronPDF 所提供的其他功能的更多信息,请参阅此教程

常见问题解答

如何在C#中将DOCX文件转换为PDF?

要在C#中将DOCX文件转换为PDF,您可以使用IronPDF库的`DocxToPdfRenderer`类。只需实例化该类并调用`RenderDocxAsPdf`方法,传入您的DOCX文件即可生成PDF。

为什么我应该将DOCX文件转换为PDF格式?

将DOCX文件转换为PDF格式可以确保您的文档在不同平台和设备上保持格式,增强安全性,并提供一种通用兼容的格式。

我可以使用IronPDF对DOCX文件执行邮件合并吗?

可以,IronPDF支持邮件合并功能,允许您通过将数据合并到您的DOCX模板中创建个性化文档,然后将其转换为PDF。

使用IronPDF进行DOCX到PDF转换有什么优势?

IronPDF提供了将DOCX转换为PDF的精简过程,支持高级功能,如邮件合并,并允许进一步的PDF自定义,如添加数字证书和注释。

是否可以使用IronPDF从流中将DOCX数据转换为PDF?

是的,IronPDF的`RenderDocxAsPdf`方法可以处理来自流或字节数组的DOCX数据,使其在处理不同输入源时具有多样性。

从DOCX转换后的PDF可以进一步自定义吗?

使用IronPDF将DOCX转换为PDF后,您可以通过导出到标准如PDF/A或PDF/UA,添加注释、书签或数字签名来自定义PDF。

在哪里可以找到用于测试转换为PDF的示例DOCX文件?

您可以从IronPDF网站上提供的链接下载示例DOCX文件,如“现代按时间顺序排列的简历”,以练习转换为PDF。

如何下载IronPDF用于在C#中进行DOCX到PDF的转换?

IronPDF可以从NuGet包管理器下载,允许轻松集成到您的.NET项目中进行DOCX到PDF转换。

Chaknith Bin
软件工程师
Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。
审核者
Jeff Fritz
Jeffrey T. Fritz
首席项目经理 - .NET 社区团队
Jeff 也是 .NET 和 Visual Studio 团队的首席项目经理。他是 .NET Conf 虚拟会议系列的执行制片人,并主持“Fritz and Friends”直播节目,每周两次与观众一起谈论技术并编写代码。Jeff 撰写研讨会、演示文稿并计划包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP 峰会在内的最大型微软开发者活动的内容。
准备开始了吗?
Nuget 下载 16,133,208 | 版本: 2025.11 刚刚发布