Folienmaster
Was ist ein Folienmaster in PowerPoint
Ein Folienmaster ist eine Folienvorlage, die das Layout, die Stile, das Thema, die Schriftarten, den Hintergrund und andere Eigenschaften für Folien in einer Präsentation definiert. Wenn Sie eine Präsentation (oder eine Reihe von Präsentationen) mit demselben Stil und derselben Vorlage für Ihr Unternehmen erstellen möchten, können Sie einen Folienmaster verwenden.
Ein Folienmaster ist nützlich, da er es ermöglicht, das Aussehen aller Präsentationsfolien gleichzeitig zu ändern. Aspose.Slides unterstützt den Folienmaster-Mechanismus von PowerPoint.
VBA ermöglicht es ebenfalls, einen Folienmaster zu manipulieren und die selben in PowerPoint unterstützten Operationen auszuführen: Hintergründe ändern, Formen hinzufügen, das Layout anpassen, usw. Aspose.Slides bietet flexible Mechanismen, um Folienmaster zu verwenden und grundlegende Aufgaben mit ihnen durchzuführen.
Dies sind grundlegende Folienmaster-Operationen:
- Erstellen oder Ändern eines Folienmasters.
- Anwenden von Folienmaster auf Präsentationsfolien.
- Ändern des Folienmaster-Hintergrunds.
- Hinzufügen eines Bildes, Platzhalters, SmartArt usw. zum Folienmaster.
Dies sind fortgeschrittenere Operationen mit Folienmaster:
- Vergleichen von Folienmastern.
- Zusammenführen von Folienmastern.
- Anwenden mehrerer Folienmaster.
- Kopieren einer Folie mit Folienmaster in eine andere Präsentation.
- Finden von doppelten Folienmastern in Präsentationen.
- Setzen des Folienmasters als Standardansicht der Präsentation.
Wie wird der Folienmaster angewendet
Bevor Sie mit einem Folienmaster arbeiten, sollten Sie verstehen, wie er in Präsentationen verwendet und auf Folien angewendet wird.
- Jede Präsentation hat standardmäßig mindestens einen Folienmaster.
- Eine Präsentation kann mehrere Folienmaster enthalten. Sie können mehrere Folienmaster hinzufügen und verwenden, um verschiedene Teile einer Präsentation auf unterschiedliche Weise zu gestalten.
In Aspose.Slides wird ein Folienmaster durch den IMasterSlide Typ dargestellt.
Das Presentation Objekt von Aspose.Slides enthält die get_Masters() Liste des IMasterSlideCollection Typs, die eine Liste aller Masterfolien enthält, die in einer Präsentation definiert sind.
Neben CRUD-Operationen enthält das IMasterSlideCollection Interface diese nützlichen Methoden: AddClone() und InsertClone() Methoden. Diese Methoden sind von der grundlegenden Folienklonfunktion abgeleitet. Wenn man jedoch mit Folienmastern arbeitet, ermöglichen diese Methoden die Implementierung komplizierter Setups.
Wenn eine neue Folie zu einer Präsentation hinzugefügt wird, wird automatisch ein Folienmaster auf sie angewendet. Der Folienmaster der vorherigen Folie wird standardmäßig ausgewählt.
Hinweis: Präsentationsfolien werden in der get_Slides() Liste gespeichert und jede neue Folie wird standardmäßig am Ende der Sammlung hinzugefügt. Wenn eine Präsentation nur einen Folienmaster enthält, wird dieser Folienmaster für alle neuen Folien ausgewählt. Aus diesem Grund müssen Sie den Folienmaster nicht für jede neue Folie definieren, die Sie erstellen.
Das Prinzip ist dasselbe für PowerPoint und Aspose.Slides. In PowerPoint können Sie beispielsweise, wenn Sie eine neue Präsentation hinzufügen, einfach auf die untere Linie unter der letzten Folie klicken, und dann wird eine neue Folie (mit dem Folienmaster der letzten Präsentation) erstellt:
In Aspose.Slides können Sie die gleiche Aufgabe mit der AddClone() Methode der Presentation Klasse ausführen.
Folienmaster in der Folienhierarchie
Die Verwendung von Folienlayouts mit Folienmastern ermöglicht maximale Flexibilität. Ein Folienlayout erlaubt es Ihnen, alle gleichen Stile wie der Folienmaster (Hintergrund, Schriftarten, Formen usw.) festzulegen. Wenn jedoch mehrere Folienlayouts auf einem Folienmaster kombiniert werden, wird ein neuer Stil erstellt. Wenn Sie ein Folienlayout auf eine einzelne Folie anwenden, können Sie ihren Stil von dem, der vom Folienmaster angewendet wurde, ändern.
Der Folienmaster hat Vorrang vor allen Setups: Folienmaster -> Folienlayout -> Folie:
Jedes IMasterSlide Objekt hat eine get_LayoutSlides() Eigenschaft mit einer Liste von Folienlayouts. Ein Slide Typ hat eine get_LayoutSlide() Eigenschaft mit einem Verweis auf ein Folienlayout, das auf die Folie angewendet wurde. Die Interaktion zwischen einer Folie und dem Folienmaster erfolgt über ein Folienlayout.
Hinweis
- In Aspose.Slides sind alle Folieneinrichtungen (Folienmaster, Folienlayout und die Folie selbst) tatsächlich Foliensobjekte, die das IBaseSlide Interface implementieren.
- Daher können Folienmaster und Folienlayouts dieselben Eigenschaften implementieren, und Sie müssen wissen, wie deren Werte auf ein Slide Objekt angewendet werden. Der Folienmaster wird zuerst auf eine Folie angewendet und dann das Folienlayout. Wenn der Folienmaster und das Folienlayout beide einen Hintergrundwert haben, erhält die Folie den Hintergrund des Folienlayouts.
Was ein Folienmaster umfasst
Um zu verstehen, wie ein Folienmaster geändert werden kann, müssen Sie seine Bestandteile kennen. Dies sind die Kern Eigenschaften des MasterSlide.
- get(set)_Background() - Hintergrund der Folie abrufen/setzen.
- get(set)_BodyStyle - Textstile des Folienkörpers abrufen/setzen.
- get(set)_Shapes - Alle Formen des Folienmasters abrufen/setzen (Platzhalter, Bilderrahmen usw.).
- get(set)_Controls - ActiveX-Steuerelemente abrufen/setzen.
- get_ThemeManager() - Themen-Manager abrufen.
- get_HeaderFooterManager() - Kopf- und Fußzeilen-Manager abrufen.
Methoden des Folienmasters:
- GetDependingSlides - Alle Folien abrufen, die vom Folienmaster abhängen.
- ApplyExternalThemeToDependingSlides - Ermöglicht die Erstellung eines neuen Folienmasters basierend auf dem aktuellen Folienmaster und einem neuen Thema. Der neue Folienmaster wird dann auf alle abhängigen Folien angewendet.
Folienmaster abrufen
In PowerPoint kann der Folienmaster über das Menü Ansicht -> Folienmaster aufgerufen werden:
Mit Aspose.Slides können Sie auf einen Folienmaster auf folgende Weise zugreifen:
System::SharedPtr<IMasterSlide> master = pres->get_Masters()->idx_get(0);
Das IMasterSlide Interface repräsentiert einen Folienmaster. Die get_Masters() Eigenschaft (die sich auf den IMasterSlideCollection Typ bezieht) enthält eine Liste aller Folienmaster, die in der Präsentation definiert sind.
Bild zum Folienmaster hinzufügen
Wenn Sie ein Bild zu einem Folienmaster hinzufügen, erscheint dieses Bild auf allen Folien, die von diesem Folienmaster abhängen.
Zum Beispiel können Sie das Logo Ihres Unternehmens und einige Bilder auf dem Folienmaster platzieren und dann zum Folienbearbeitungsmodus zurückkehren. Sie sollten das Bild auf jeder Folie sehen.
Sie können Bilder mit Aspose.Slides zu einem Folienmaster hinzufügen:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>();
System::SharedPtr<IPPImage> image = pres->get_Images()->AddImage(System::IO::File::ReadAllBytes(u"image.png"));
pres->get_Master(0)->get_Shapes()->AddPictureFrame(ShapeType::Rectangle, 10.0f, 10.0f, 100.0f, 100.0f, image);
pres->Save(u"pres.pptx", SaveFormat::Pptx);
Siehe auch
Für weitere Informationen zum Hinzufügen von Bildern zu einer Folie, siehe den Artikel Bilderrahmen.Platzhalter zum Folienmaster hinzufügen
Diese Textfelder sind standardmäßige Platzhalter auf einem Folienmaster:
-
Klicken Sie hier, um den Titelstil des Masters zu bearbeiten
-
Bearbeiten Sie die Textstile des Masters
-
Zweite Ebene
-
Dritte Ebene
Sie erscheinen auch auf den Folien, die auf dem Folienmaster basieren. Sie können diese Platzhalter auf einem Folienmaster bearbeiten, und die Änderungen werden automatisch auf die Folien angewendet.
In PowerPoint können Sie einen Platzhalter über den Pfad Folienmaster -> Platzhalter einfügen hinzufügen:
Lassen Sie uns ein komplizierteres Beispiel für Platzhalter mit Aspose.Slides betrachten. Betrachten Sie eine Folie mit Platzhaltern, die vom Folienmaster abgeleitet sind:
Wir möchten die Formatierung von Titel und Untertitel auf dem Folienmaster folgendermaßen ändern:
Zuerst rufen wir den Inhalt des Titelplatzhalters vom Folienmaster-Objekt ab und verwenden dann das PlaceHolder.FillFormat
Feld:
System::SharedPtr<IAutoShape> FindPlaceholder(System::SharedPtr<IMasterSlide> master, PlaceholderType type)
{
for (auto& shape : master->get_Shapes())
{
System::SharedPtr<IAutoShape> autoShape = System::AsCast<Aspose::Slides::IAutoShape>(shape);
if (autoShape != nullptr)
{
if (autoShape->get_Placeholder()->get_Type() == type)
{
return autoShape;
}
}
}
return nullptr;
}
void Main()
{
auto pres = System::MakeObject<Presentation>();
System::SharedPtr<IMasterSlide> master = pres->get_Masters()->idx_get(0);
System::SharedPtr<IAutoShape> placeHolder = FindPlaceholder(master, Aspose::Slides::PlaceholderType::Title);
auto fillFormat = placeHolder->get_FillFormat();
fillFormat->set_FillType(Aspose::Slides::FillType::Gradient);
auto gradientFormat = fillFormat->get_GradientFormat();
gradientFormat->set_GradientShape(Aspose::Slides::GradientShape::Linear);
gradientFormat->get_GradientStops()->Add(0.0f, System::Drawing::Color::FromArgb(255, 0, 0));
gradientFormat->get_GradientStops()->Add(255.0f, System::Drawing::Color::FromArgb(128, 0, 128));
pres->Save(u"pres.pptx", Aspose::Slides::Export::SaveFormat::Pptx);
}
Der Titelstil und die Formatierung ändern sich für alle Folien, die auf dem Folienmaster basieren:
Hintergrund im Folienmaster ändern
Wenn Sie die Hintergrundfarbe eines Folienmasters ändern, erhalten alle normalen Folien in der Präsentation die neue Farbe. Dieser C++-Code demonstriert die Operation:
auto pres = System::MakeObject<Presentation>();
auto master = pres->get_Masters()->idx_get(0);
auto background = master->get_Background();
background->set_Type(Aspose::Slides::BackgroundType::OwnBackground);
background->get_FillFormat()->set_FillType(Aspose::Slides::FillType::Solid);
background->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Green());
pres->Save(u"pres.pptx", Aspose::Slides::Export::SaveFormat::Pptx);
Folienmaster in eine andere Präsentation klonen
Um einen Folienmaster in eine andere Präsentation zu klonen, rufen Sie die AddClone() Methode der Zielpräsentation zusammen mit einem in sie übergebenen Folienmaster auf. Dieser C++-Code zeigt, wie man einen Folienmaster in eine andere Präsentation klont:
auto presSource = System::MakeObject<Presentation>();
auto presTarget = System::MakeObject<Presentation>();
auto master = presTarget->get_Masters()->AddClone(presSource->get_Masters()->idx_get(0));
Mehrere Folienmaster zur Präsentation hinzufügen
Aspose.Slides ermöglicht es Ihnen, mehrere Folienmaster und Folienlayouts zu einer beliebigen Präsentation hinzuzufügen. Dies ermöglicht es Ihnen, Stil, Layouts und Formatierungsoptionen für Präsentationsfolien auf viele Arten einzurichten.
In PowerPoint können Sie neue Folienmaster und Layouts (aus dem “Folienmaster-Menü) wie folgt hinzufügen:
Mit Aspose.Slides können Sie einen neuen Folienmaster hinzufügen, indem Sie die AddClone() Methode aufrufen:
pres->get_Masters()->AddClone(pres->get_Masters()->idx_get(0));
Folienmaster vergleichen
Ein Folienmaster implementiert das IBaseSlide Interface, das die Equals() Methode enthält, die verwendet werden kann, um Folien zu vergleichen. Sie gibt true
für Folienmaster zurück, die in Struktur und statischem Inhalt identisch sind.
Zwei Folienmaster sind gleich, wenn ihre Formen, Stile, Texte, Animationen und andere Einstellungen usw. gleich sind. Der Vergleich berücksichtigt keine eindeutigen Identifikatorwerte (z.B. SlideId) und dynamischen Inhalt (z.B. den aktuellen Datumwert im Datumsplatzhalter).
Folienmaster als Standardansicht der Präsentation festlegen
Aspose.Slides ermöglicht es Ihnen, einen Folienmaster als Standardansicht für eine Präsentation festzulegen. Die Standardansicht ist diejenige, die angezeigt wird, wenn Sie eine Präsentation öffnen.
Dieser Code zeigt, wie Sie einen Folienmaster als Standardansicht einer Präsentation in C++ festlegen:
pres->get_ViewProperties()->set_LastView(Aspose::Slides::ViewType::SlideMasterView);
Nicht verwendeten Folienmaster entfernen
Aspose.Slides bietet die RemoveUnusedMasterSlides() Methode (aus der Compress Klasse), um Ihnen zu ermöglichen, unerwünschte und ungenutzte Folienmaster zu löschen. Dieser C++-Code zeigt, wie Sie einen Folienmaster aus einer PowerPoint-Präsentation entfernen:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
LowCode::Compress::RemoveUnusedMasterSlides(pres);
pres->Save(u"pres-out.pptx", SaveFormat::Pptx);