将 Word 转换为 PDF 并保存编辑后的文档

简介

如果您需要在 convert Word to PDF 的同时将编辑后的文档保存为多种输出格式,您来对地方了。本指南将逐步带您完成所有步骤——从加载 WordProcessing 文件、以编程方式编辑其内容,到使用 GroupDocs.Editor for .NET 将结果导出为 PDF、DOCX、HTML 等格式。完成后,您将拥有一个可在任何 .NET 4.6.1+ 或更高版本项目中复用的模式。

快速答案

  • Can GroupDocs.Editor convert DOCX to PDF? 是的——只需加载文档并调用 Save 并指定所需格式。
  • Do I need Microsoft Word installed? 不需要,API 在服务器端完成转换,无需 Office。
  • Which .NET versions are supported? .NET Framework 4.6.1+、.NET Core 3.1+、.NET 5/6+。
  • How many formats can I export to? 超过 20 种 WordProcessing 格式,包括 PDF、DOCX、HTML 和 TXT。
  • Is a license required for production? 是的,需要商业许可证;提供免费试用。

什么是 “convert word to pdf”?

Convert word to pdf 意味着将 Microsoft Word (.docx) 文件转换为 PDF 文档,同时保留布局、字体和图像。
GroupDocs.Editor 完全在内存中执行此转换,消除对外部工具的需求。

为什么在此任务中使用 GroupDocs.Editor?

GroupDocs.Editor 支持 50+ input and output formats,并且能够处理高达 500 pages 的文档,而无需将整个文件加载到内存中,与传统基于 Office 的转换相比,可实现 up to 40 % lower CPU usage

先决条件

  1. GroupDocs.Editor for .NET – 从 here 下载最新版本。
  2. Development Environment – Visual Studio 或任何兼容 .NET 的 IDE。
  3. .NET Framework – 版本 4.6.1 或更高(或 .NET Core 3.1+)。
  4. Sample Document – 一个 WordProcessing 文件(例如 sample.docx)。
  5. Basic C# Knowledge – 熟悉 C# 语法和项目设置。

导入命名空间

Editor 和相关类位于 GroupDocs.Editor 命名空间。请在 C# 文件顶部导入它们:

Editor 类是加载、编辑和保存文档的入口点。
EditableDocument 类表示可以在内存中编辑的文档。

using System;
using GroupDocs.Editor.Metadata;

让我们将过程拆分为可管理的步骤。请仔细跟随,以确保您理解每个部分。

步骤 1:获取输入文件的路径

首先,您需要指定输入 WordProcessing 文件的路径。该文件将被加载并编辑。

string inputFilePath = "Your Sample Document";

步骤 2:为文档创建加载选项

接下来,为 WordProcessing 文档创建特定的加载选项。这些选项有助于自定义文档的加载方式。
WordProcessingLoadOptions 定义了加载 WordProcessing 文件时使用的参数,例如字体处理和内存限制。

WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();

步骤 3:使用选项加载文档

现在,使用指定的加载选项将文档加载到 Editor 实例中。

using (Editor editor = new Editor(inputFilePath, delegate { return loadOptions; }))

步骤 4:创建编辑选项

为文档准备编辑选项。这些选项将决定文档的编辑方式。
WordProcessingEditOptions 指定 WordProcessing 文件的编辑行为,包括启用修订跟踪和保留原始格式。

WordProcessingEditOptions editOptions = new WordProcessingEditOptions();

步骤 5:打开文档进行编辑

通过创建 EditableDocument 实例来打开文档进行编辑。该实例允许您对文档进行更改。

using (EditableDocument beforeEdit = editor.Edit(editOptions))

步骤 6:编辑文档内容

现在是编辑文档内容的时候了。首先,将文档获取为单个 base64 编码的字符串。
GetEmbeddedHtml 将当前文档内容提取为 base64 编码的 HTML 字符串,便于操作。

string allEmbeddedInsideString = beforeEdit.GetEmbeddedHtml();

例如,让我们修改文档中的副标题。

string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");

步骤 7:从编辑后的内容创建新的 EditableDocument

从编辑后的内容和资源创建一个新的 EditableDocument 实例。

using (EditableDocument afterEdit = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null))

步骤 8:将文档保存为多种格式

最后,遍历所有支持的 WordProcessing 格式,并将编辑后的文档保存为每种格式。
Save 方法将编辑后的文档写入选定格式的文件,内部处理转换。

foreach (WordProcessingFormats oneFormat in WordProcessingFormats.All)
{
    // Prepare save options
    WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(oneFormat);
    // Prepare save path
    string savePath = Path.Combine("OutputDirectory", "MultipleOutFormats." + saveOptions.OutputFormat.Extension);
    // Save the document
    editor.Save(afterEdit, savePath, saveOptions);
}

完成消息

最后,您可以打印一条消息,指示过程已成功完成。

Console.WriteLine("SavingEditedDocumentToAllFormats routine has successfully finished");

如何使用 GroupDocs.Editor 将 Word 转换为 PDF?

使用 Editor.Load(或 new Editor(inputPath, loadOptions))加载源 DOCX,然后调用 editableDocument.Save("output.pdf", SaveFormat.Pdf)。Editor.Load 使用指定的文件和可选的加载选项初始化 Editor 实例,为编辑做好准备。API 自动处理字体、表格和图像,提供忠实的 PDF 表现,无需 Microsoft Word。确保输出路径可写,并处理任何异常以保证转换成功。

常见用例

  • Automated report generation – 创建 DOCX 模板,使用代码填充,然后导出为 PDF 进行分发。
  • Batch conversion pipelines – 遍历文件夹中的 Word 文件,编辑元数据,并将每个文件转换为 PDF 或 HTML。
  • Document archiving – 将编辑后的版本存储为中性、只读的 PDF 格式以满足合规要求。

故障排除与技巧

  • Large files – 设置 LoadOptions.MemoryLimit 以避免高内存消耗。
  • Missing fonts – 在转换前将所需字体嵌入 DOCX,或通过 EditorSettings.FontsPath 提供自定义字体文件夹。
  • Encoding issues – 确保正确解码 base64 字符串;在 C# 中使用 Convert.FromBase64String

常见问题

Q: What is GroupDocs.Editor for .NET?
A: GroupDocs.Editor for .NET 是一个强大的 API,允许您直接在 .NET 应用程序中编辑、转换和保存数十种格式的文档。

Q: Can I use GroupDocs.Editor for free?
A: 可以,您可以使用免费试用。请在 here 下载。

Q: What formats are supported by GroupDocs.Editor?
A: 该库支持 20 多种 WordProcessing 格式,包括 DOCX、PDF、HTML、TXT 和 ODT。

Q: How do I get a temporary license for GroupDocs.Editor?
A: 您可以在 here 获取临时许可证。

Q: Where can I find more documentation and support?
A: 详细文档可在 here 查看,社区支持请访问 here


最后更新: 2026-06-01
测试环境: GroupDocs.Editor 2.10 for .NET
作者: GroupDocs

相关教程