Bewerk PPT/PPTX-presentatie met behulp van .NET API

De meest voorkomende en meest gebruikte presentatiebestandsformaten zijn PPT, PPTX en ODP. De bekende Microsoft PowerPoint, OpenOffice Impress en Apple Keynote ondersteunen deze formaten en normaal gesproken gebruiken wij deze formaten voor het maken van spectaculaire presentaties. Als ontwikkelaar kunnen wij presentaties in onze applicaties programmatisch bewerken. In dit artikel bespreken we hoe u PPT/PPTX-presentaties in C# kunt bewerken met behulp van de .NET API voor het bewerken van presentaties.

In dit artikel worden de volgende onderwerpen kort besproken:

.NET API voor het bewerken en automatiseren van presentaties

Nu zullen we de GroupDocs.Editor for .NET gebruiken in onderstaande C#-voorbeelden. Het is de API voor het bewerken van presentaties waarmee ontwikkelaars de bewerkte presentaties in andere formaten zoals PPT, PPTX en PDF kunnen laden, bewerken en opslaan. Naast de presentatieformaten ondersteunt de API het bewerken van tekstverwerkingsdocumenten, spreadsheets, HTML-, XML-, JSON-, TXT-, TSV- en CSV-formaten.

Download de DLL’s of het MSI-installatieprogramma uit de downloadsectie of installeer de API in uw .NET-applicatie via NuGet.

PM> Install-Package GroupDocs.Editor

Bewerk PPTX/PPTX-presentaties in C#

Net nadat u de API heeft ingesteld, kunt u snel overgaan tot het bewerken van uw presentatiedia’s. Met de volgende stappen kunt u de presentatie van PPT/PPTX en andere ondersteunde formaten bewerken.

  • Laad de presentatie.
  • Bewerk met behulp van de beschikbare opties.
  • Sla de bewerkte presentatie op.

Laad de PPT/PPTX-presentatie

Laad eerst de presentatie door het presentatiebestandspad en het wachtwoord op te geven, als de presentatie beveiligd is.

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

Bewerk de PPT/PPTX-presentatiedia’s

Na het laden kunt u de geladen presentatie naar wens bewerken. Hier vervang ik alle keren dat het woord “documenten” voorkomt door de “presentatie” in een PPTX-presentatie met behulp van de onderstaande C#-code.

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

Sla de bewerkte PowerPoint-presentatie op met Opties

Ten slotte kunt u tijdens het opslaan van de bewerkte presentatie-inhoud verschillende opties verder instellen. Deze opties omvatten; wachtwoord instellen, instellingen voor uitvoerformaat. Ik stel de bovenstaande opties in de onderstaande code in en sla de bewerkte presentatie op als een met een wachtwoord beveiligd PPTX-bestand.

// 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);
    }
}

Volledige code

Voor het gemak is hier het volledige C#-voorbeeld dat hierboven is uitgelegd en het bewerkt de PowerPoint-presentatie en slaat deze vervolgens op in PPTX-indeling.

// Bewerk PPT/PPTX-presentaties in C# met behulp van de GroupDocs-API voor het bewerken en automatiseren van presentaties
using (FileStream fs = File.OpenRead("path/presentation.pptx"))
{
    // Presentatie laden
    Options.PresentationLoadOptions loadOptions = new PresentationLoadOptions();
    loadOptions.Password = "P@$$w0Rd";

    // Presentatie bewerken
    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");
            
            // Presentatie opslaan
            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);
                }
            }
        }
    }
}

Het volgende is de uitvoerpresentatie waarin alle exemplaren worden vervangen met behulp van de bovenstaande code.

bewerkte pptx-presentatie met behulp van bewerkings-API

Uitvoerpresentatie - ‘documenten’-exemplaren worden vervangen door ‘presentatie’

Conclusie

Tot slot bespraken we het bewerken van presentatiedia’s in C# met behulp van de presentatiebewerkings-API voor .NET-applicaties. U kunt de API met WYSIWYG-editors gebruiken voor het visueel bewerken van uw presentaties. Daarna kunt u doorgaan met het bouwen van uw eigen presentatie-editor. Op dezelfde manier kunt u de bewerkingsfunctie ook integreren in uw .NET-applicatie.

Voor meer details, opties en voorbeelden kun je de documentatie en de GitHub repository bezoeken. Neem voor verdere vragen contact op met de ondersteuning op het forum.

gerelateerde artikelen