使用 .NET API 编辑 PPT/PPTX 演示文稿

最常见和广泛使用的演示文稿文件格式是 PPT、PPTX 和 ODP。著名的 Microsoft PowerPoint, OpenOffice Impress 和 Apple Keynote 支持这些格式,我们通常使用这些格式来制作精彩的演示文稿。作为开发人员,我们可以通过编程方式编辑应用程序中的演示文稿。在本文中,我们将讨论如何使用 .NET API 进行演示文稿编辑,在 C# 中编辑 PPT/PPTX 演示文稿。

以下是本文简要讨论的主题:

用于演示文稿编辑和自动化的 .NET API

现在,我们将在下面的 C# 示例中使用 GroupDocs.Editor for .NET。它是演示文稿编辑 API,允许开发人员加载、编辑和保存其他格式(如 PPT、PPTX、PDF)编辑的演示文稿。除了演示文稿格式之外,API 还支持编辑文字处理文档、电子表格、HTML、XML、JSON、TXT、TSV 和 CSV 格式。

下载部分 下载 DLL 或 MSI 安装程序,或通过 NuGet 在您的 .NET 应用程序中安装 API。

PM> Install-Package GroupDocs.Editor

在 C# 中编辑 PPTX/PPTX 演示文稿

设置 API 后,您就可以快速开始编辑演示文稿幻灯片。以下步骤将让您编辑 PPT/PPTX 和其他支持格式的演示文稿。

  • 加载演示文稿。
  • 使用可用选项进行编辑。
  • 保存编辑后的演示文稿。

加载 PPT/PPTX 演示文稿

首先,如果演示文稿受到保护,请通过提供演示文稿文件路径和密码来加载演示文稿。

// Load Presentation
using (FileStream fs = File.OpenRead("path/presentation.pptx"))
{
    // Load Presentation
    Options.PresentationLoadOptions loadOptions = new PresentationLoadOptions();
    loadOptions.Password = "P@$$w0Rd";
}

编辑 PPT/PPTX 演示幻灯片

加载后,您可以根据需要编辑加载的演示文稿。在这里,我使用下面的 C# 代码将 PPTX 演示文稿中所有出现的单词“文档”替换为“演示文稿”。

// Edit Presentation
using (Editor editor = new Editor(delegate { return fs; }, delegate { return loadOptions; }))
{
    Options.PresentationEditOptions editOptions = new PresentationEditOptions();
    editOptions.SlideNumber = 0;            // 1st slide
    editOptions.ShowHiddenSlides = true;

    using (EditableDocument beforeEdit = editor.Edit(editOptions))
    {
        string originalContent = beforeEdit.GetContent();
        List<IHtmlResource> allResources = beforeEdit.AllResources;
        string editedContent = originalContent.Replace("documents", "presentation");       
    }
}

使用选项保存编辑后的 PowerPoint 演示文稿

最后,在保存编辑好的演示内容的同时,还可以进一步设置各种选项。这些选项包括:设置密码、输出格式设置。我在下面提到的代码中设置上述选项,并将编辑后的演示文稿保存为受密码保护的 PPTX 文件。

// Save Presentation
using (EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResources))
{
    Options.PresentationSaveOptions saveOptions = new PresentationSaveOptions(PresentationFormats.Pptm);
    saveOptions.Password = "new_pa$$word";

    using (FileStream outputStream = File.Create("path/edited-presentation.pptx"))
    {
        editor.Save(afterEdit, outputStream, saveOptions);
    }
}

完整代码

为了方便起见,这里是上面解释的完整 C# 示例,它编辑 PowerPoint 演示文稿,然后将其保存为 PPTX 格式。

// 使用 GroupDocs 演示文稿编辑和自动化 API 在 C# 中编辑 PPT/PPTX 演示文稿
using (FileStream fs = File.OpenRead("path/presentation.pptx"))
{
    // 加载演示
    Options.PresentationLoadOptions loadOptions = new PresentationLoadOptions();
    loadOptions.Password = "P@$$w0Rd";

    // 编辑演示文稿
    using (Editor editor = new Editor(delegate { return fs; }, delegate { return loadOptions; }))
    {
        Options.PresentationEditOptions editOptions = new PresentationEditOptions();
        editOptions.SlideNumber = 0;            // 1st slide
        editOptions.ShowHiddenSlides = true;

        using (EditableDocument beforeEdit = editor.Edit(editOptions))
        {
            string originalContent = beforeEdit.GetContent();
            List<IHtmlResource> allResources = beforeEdit.AllResources;
            string editedContent = originalContent.Replace("documents", "presentation");
            
            // 保存演示文稿
            using (EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResources))
            {
                Options.PresentationSaveOptions saveOptions = new PresentationSaveOptions(PresentationFormats.Pptm);
                saveOptions.Password = "new_pa$$word";

                using (FileStream outputStream = File.Create("path/edited-presentation.pptx"))
                {
                    editor.Save(afterEdit, outputStream, saveOptions);
                }
            }
        }
    }
}

以下是输出演示,其中所有出现的内容都使用上述代码替换。

使用编辑 API 编辑 pptx 演示文稿

输出演示 - “文档”出现被“演示”替换

结论

最后,我们讨论了使用 .NET 应用程序的演示文稿编辑 API 在 C# 中编辑演示文稿幻灯片。您可以将 API 与所见即所得编辑器结合使用,对演示文稿进行可视化编辑。之后,您可以继续构建自己的演示文稿编辑器。同样,您还可以将编辑功能集成到 .NET 应用程序中。

有关更多详细信息、选项和示例,您可以访问 文档GitHub 存储库。如需进一步查询,请联系论坛上的支持人员。

相关文章