Öffentliche API und nicht rückwärtskompatible Änderungen in Aspose.Slides für .NET 14.5.0
Öffentliche API und nicht rückwärtskompatible Änderungen
Hinzugefügte Schnittstellen, Klassen, Eigenschaften und Methoden
Hinzufügung der Aspose.Slides.IPresentationInfo Schnittstelle und der PresentationInfo Klasse
Stellt Informationen über die Präsentation bereit.
- Die boolesche Eigenschaft IsEncrypted gibt True zurück, wenn eine Präsentation verschlüsselt ist, andernfalls False.
- Die Eigenschaft LoadFormat gibt den Typ einer Präsentation zurück.
Hinzufügung der Aspose.Slides.IShape.IsGrouped Eigenschaft
Die Eigenschaft Aspose.Slides.IShape.IsGrouped bestimmt, ob eine Form gruppiert ist.
Hinzufügung der Aspose.Slides.IShape.ParentGroup Eigenschaft
Die Eigenschaft Aspose.Slides.IShape.ParentGroup gibt das übergeordnete GroupShape-Objekt zurück, wenn eine Form gruppiert ist. Andernfalls gibt sie null zurück.
Hinzufügung der Aspose.Slides.IShapeCollection.AddGroupShape() Methode
Die Methode Aspose.Slides.IShapeCollection.AddGroupShape() erstellt ein neues GroupShape und fügt es ans Ende der Sammlung hinzu. Die Rahmenhöhe und -position des GroupShape werden an den Inhalt angepasst, wenn eine neue Form hinzugefügt wird.
Hinzufügung der Aspose.Slides.IShapeCollection.Clear() Methode
Die Methode Aspose.Slides.IShapeCollection.Clear() entfernt alle Formen aus der Sammlung.
Hinzufügung der Aspose.Slides.IShapeCollection.InsertGroupShape(int) Methode
Die Methode Aspose.Slides.IShapeCollection.InsertGroupShape(int) erstellt ein neues GroupShape und fügt es an der angegebenen Indexposition in die Sammlung ein. Die Rahmenhöhe und -position des GroupShape werden an den Inhalt angepasst, wenn eine neue Form hinzugefügt wird.
Hinzufügung der IPresentationFactory.GetPresentationInfo(string file), IPresentationFactory.GetPresentationInfo(Stream stream) Methoden
Diese Methoden ermöglichen es, Informationen über eine Präsentationsdatei oder einen Stream zu erhalten, ohne die Präsentation vollständig zu laden.
Hinzufügung der IPresentationFactory PresentationFactory.Instance Eigenschaft
Diese Eigenschaft ermöglicht es Entwicklern, die Factory-Funktionalität ohne Instanziierung zu nutzen.
Einschränkungen
Einschränkungen für IShape.Frame
Einschränkungen wurden für die Verwendung undefinierter Werte für IShape.Frame hinzugefügt. Code, der versucht, einen undefinierten Rahmen an IShape.Frame zuzuweisen, macht in den meisten Fällen keinen Sinn (insbesondere wenn das übergeordnete GroupShape mehrfach in anderen {{GroupShape}}s geschachtelt ist). Zum Beispiel:
IShape shape = ...;
shape.Frame = new ShapeFrame(float.NaN, float.NaN, float.NaN, float.NaN, NullableBool.NotDefined, NullableBool.NotDefined, float.NaN);
oder
slide.Shapes.AddAutoShape(ShapeType.RoundCornerRectangle, float.NaN, float.NaN, float.NaN, float.NaN);
Solcher Code kann zu unklaren Situationen führen. Daher wurden Einschränkungen für die Verwendung undefinierter Werte für IShape.Frame hinzugefügt. Die Werte für x, y, width, height, flipH, flipV und rotationAngle müssen definiert (und dürfen nicht auf float.NaN oder NullableBool.NotDefined gesetzt werden). Der obige Beispielcode wirft jetzt eine ArgumentException Ausnahme. Dies gilt für diese Anwendungsfälle:
IShape shape = ...;
shape.Frame = ...; // Kann nicht undefiniert sein
IShapeCollection shapes = ...;
// x, y, width, height Parameter dürfen nicht float.NaN sein:
{
shapes.AddAudioFrameCD(...);
shapes.AddAudioFrameEmbedded(...);
shapes.AddAudioFrameLinked(...);
shapes.AddAutoShape(...);
shapes.AddChart(...);
shapes.AddConnector(...);
shapes.AddOleObjectFrame(...);
shapes.AddPictureFrame(...);
shapes.AddSmartArt(...);
shapes.AddTable(...);
shapes.AddVideoFrame(...);
shapes.InsertAudioFrameEmbedded(...);
shapes.InsertAudioFrameLinked(...);
shapes.InsertAutoShape(...);
shapes.InsertChart(...);
shapes.InsertConnector(...);
shapes.InsertOleObjectFrame(...);
shapes.InsertPictureFrame(...);
shapes.InsertTable(...);
shapes.InsertVideoFrame(...);
}
Aber die IShape.RawFrame Rahmen Eigenschaften können undefiniert sein. Dies macht Sinn, wenn eine Form mit einem Platzhalter verknüpft ist. Dann werden die undefinierten Formrahmenwerte vom übergeordneten Platzhalterrahmen überschrieben. Wenn es keinen übergeordneten Platzhalterrahmen gibt, verwendet diese Form Standardwerte, wenn sie den effektiven Rahmen basierend auf ihrem IShape.RawFrame bewertet. Die Standardwerte sind 0 und NullableBool.False für x, y, width, height, flipH, flipV und rotationAngle. Zum Beispiel:
IShape shape = ...; // Form ist mit Platzhalter verknüpft
shape.RawFrame = new ShapeFrame(float.NaN, float.NaN, 100, float.NaN, NullableBool.NotDefined, NullableBool.NotDefined, 0);
// jetzt erbt die Form x, y, height, flipH, flipV Werte vom Platzhalter und überschreibt width=100 und rotationAngle=0.
Geänderte Eigenschaften
Änderung des Eigenschaftsnamen und Typs von Aspose.Slides.IShapeCollection.Parent
- Der Typ der Aspose.Slides.IShapeCollection.Parent Eigenschaft wurde von ISlideComponent auf die neue IGroupShape Schnittstelle geändert. Die IGroupShape Schnittstelle ist ein Nachkomme von ISlideComponent, sodass bestehender Code keine Anpassungen benötigt.
- Der Name der Aspose.Slides.IShapeCollection.Parent Eigenschaft wurde von Parent in ParentGroup geändert.
Änderung der Eigenschaftstypen von Aspose.Slides.IShapeFrame.FlipH, .FlipV
- Der Typ der Aspose.Slides.IShapeFrame.FlipH Eigenschaft wurde von bool auf NullableBool geändert.
- Die IShape.Frame Eigenschaft gibt eine effektive Instanz von IShapeFrame zurück (von denen alle Eigenschaften definierte effektive Werte haben).
- Die IShape.RawFrame Eigenschaft gibt eine Instanz von IShapeFrame zurück, bei der jede Eigenschaft undefinierte Werte haben kann (insbesondere können FlipH oder FlipV den Wert NullableBool.NotDefined haben).