如何在 C# 中将 Microsoft Word 转换为 PDF;

Chaknith related to 如何在 C# 中将 Microsoft Word 转换为 PDF;
查克尼特·宾
2023年九月19日
更新 2024年十二月11日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

DOCX 文件是在 Microsoft Word 中创建的文档,Microsoft Word 是微软的文字处理程序。 它使用Office Open XML(OOXML)标准,使其高效并兼容各种软件。 自 Word 2007 起,它已成为 Word 文档的默认格式,替代了旧的 DOC 格式。

IronPDF允许您将DOCX文档转换为PDF,并提供邮件合并功能,用于为个别收件人生成个性化的文档批次。 将DOCX转换为PDF可确保通用兼容性,保留格式,并增加了一层安全性。

开始使用IronPDF

立即在您的项目中开始使用IronPDF,并享受免费试用。

第一步:
green arrow pointer



将 DOCX 文件转换为 PDF 示例

要将 Microsoft Word 文件转换为 PDF,请实例化DocxToPdfRenderer 类。 利用 RenderDocxAsPdf 方法,通过提供 DOCX 文件的文件路径来使用 DocxToPdfRenderer 对象。此方法返回一个 PdfDocument 对象,使您可以进一步自定义 PDF。 我使用了Microsoft Word中的“现代按时间顺序排列的简历”模板作为示例。 你可以下载现代按时间顺序排列的简历 DOCX 示例文件

Microsoft Word 预览

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

输出 PDF


邮件合并示例

邮件合并位于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; }
}

我已经修改了微软Word提供的模板以满足我们的需求。 请下载派对邀请 DOTX 示例文件。 对于我们的用例,让我们将MailMergePrintAllInOnePdfDocument属性设置为true,这会将PDF合并为一个单一的PdfDocument对象。 我们将要使用的合并字段是日期、位置、收件人姓名和联系我们。

Microsoft Word 预览

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

输出 PDF

创建PDF文档后,您可以灵活地进行额外的更改。 这些包括将其导出为PDF/APDF/UA,以及添加数字证书。 您还可以通过合并或拆分PDF来操作单个页面,并旋转它们,并且您可以选择应用注释书签

Chaknith related to 输出 PDF
软件工程师
Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。