.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# でプレゼンテーション スライドを編集する方法について説明しました。 WYSIWYG エディターで API を使用して、プレゼンテーションを視覚的に編集できます。その後、独自のプレゼンテーション エディターの構築に進むことができます。同様に、.NET アプリケーション内に編集機能を統合することもできます。

詳細、オプション、例については、ドキュメント および GitHub リポジトリを参照してください。さらに質問がある場合は、フォーラム のサポートにお問い合わせください。

関連記事