Layout-Folie zur Präsentation hinzufügen

Aspose.Slides für .NET ermöglicht Entwicklern das Hinzufügen neuer Layout-Folien in Präsentationen. Um eine Layout-Folie hinzuzufügen, befolgen Sie bitte die folgenden Schritte:

  • Erstellen Sie eine Instanz der Präsentationsklasse
  • Greifen Sie auf die Master-Folien-Sammlung zu
  • Versuchen Sie, vorhandene Layout-Folien zu finden, um festzustellen, ob die erforderliche bereits in der Layout-Folien-Sammlung verfügbar ist
  • Fügen Sie eine neue Layout-Folie hinzu, wenn das gewünschte Layout nicht verfügbar ist
  • Fügen Sie eine leere Folie mit der neu hinzugefügten Layout-Folie hinzu
  • Schließlich speichern Sie die Präsentationsdatei mithilfe des Präsentationsobjekts.

Beispiel


 //Instanziieren Sie die Präsentationsklasse, die die Präsentationsdatei repräsentiert

using (Presentation p = new Presentation("Test.pptx"))

{

   // Versuchen Sie, nach Layout-Folien vom Typ zu suchen

   IMasterLayoutSlideCollection layoutSlides = p.Masters[0].LayoutSlides;

   ILayoutSlide layoutSlide =

   layoutSlides.GetByType(SlideLayoutType.TitleAndObject) ??

   layoutSlides.GetByType(SlideLayoutType.Title);

   if (layoutSlide == null)

   {

     // Die Situation, in der eine Präsentation einige Layouttypen nicht enthält.

     // Die Präsentation Technographics.pptx enthält nur leere und benutzerdefinierte Layouttypen.

     // Aber Layout-Folien mit benutzerdefinierten Typen haben unterschiedliche Foliennamen,

     // wie "Titel", "Titel und Inhalt" usw. Und es ist möglich, diese

     // Namen zur Auswahl von Layout-Folien zu verwenden.

     // Es ist auch möglich, die Menge von Platzhalter-Formtypen zu verwenden. Zum Beispiel,

     // Die Titelseite sollte nur den Platzhaltertyp Titel haben, usw.

     foreach (ILayoutSlide titleAndObjectLayoutSlide in layoutSlides)

     {

       if (titleAndObjectLayoutSlide.Name == "Titel und Objekt")

       {

          layoutSlide = titleAndObjectLayoutSlide;

          break;

       }

      }

      if (layoutSlide == null)

      {

         foreach (ILayoutSlide titleLayoutSlide in layoutSlides)

         {

            if (titleLayoutSlide.Name == "Titel")

            {

                layoutSlide = titleLayoutSlide;

                break;

            }

          }

          if (layoutSlide == null)

          {

             layoutSlide = layoutSlides.GetByType(SlideLayoutType.Blank);

             if (layoutSlide == null)

             {

                  layoutSlide = layoutSlides.Add(SlideLayoutType.TitleAndObject, "Titel und Objekt");

             }

          }

      }

  }

  //Hinzufügen einer leeren Folie mit der hinzugefügten Layout-Folie

  p.Slides.InsertEmptySlide(0, layoutSlide);

  //Präsentation speichern

  p.Save("Output.pptx", SaveFormat.Pptx);

}


Laden Sie das laufende Beispiel herunter

Beispielcode herunterladen