Öffentliche API und rückwärtsinkompatible Änderungen in Aspose.Slides für .NET 14.5.0
Öffentliche API und rückwärtsinkompatible Änderungen
Hinzugefügte Schnittstellen, Klassen, Eigenschaften und Methoden
Hinzugefügt: Das Interface Aspose.Slides.IPresentationInfo und die Klasse PresentationInfo
Stellt Informationen über die Präsentation dar.
- 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.
Die Eigenschaft Aspose.Slides.IShape.IsGrouped wurde hinzugefügt
Die Eigenschaft Aspose.Slides.IShape.IsGrouped bestimmt, ob eine Form gruppiert ist.
Die Eigenschaft Aspose.Slides.IShape.ParentGroup wurde hinzugefügt
Die Eigenschaft Aspose.Slides.IShape.ParentGroup gibt das übergeordnete GroupShape-Objekt zurück, wenn eine Form gruppiert ist. Andernfalls wird null zurückgegeben.
Die Methode Aspose.Slides.IShapeCollection.AddGroupShape() wurde hinzugefügt
Die Methode Aspose.Slides.IShapeCollection.AddGroupShape() erstellt ein neues GroupShape und fügt es am Ende der Sammlung hinzu. Die Rahmengröße und -position des GroupShape werden an den Inhalt angepasst, wenn eine neue Form hinzugefügt wird.
Die Methode Aspose.Slides.IShapeCollection.Clear() wurde hinzugefügt
Die Methode Aspose.Slides.IShapeCollection.Clear() entfernt alle Formen aus der Sammlung.
Die Methode Aspose.Slides.IShapeCollection.InsertGroupShape(int) wurde hinzugefügt
Die Methode Aspose.Slides.IShapeCollection.InsertGroupShape(int) erstellt ein neues GroupShape und fügt es an der angegebenen Indexposition in die Sammlung ein. Die Rahmengröße und -position des GroupShape werden an den Inhalt angepasst, wenn eine neue Form hinzugefügt wird.
Die Methoden IPresentationFactory.GetPresentationInfo(string file) und IPresentatoinFactory.GetPresentationInfo(Stream stream) wurden hinzugefügt
Diese Methoden ermöglichen das Abrufen von Informationen über eine Präsentationsdatei oder einen Stream, ohne die Präsentation vollständig zu laden.
Die Eigenschaft IPresentationFactory PresentationFactory.Instance wurde hinzugefügt
Diese Eigenschaft ermöglicht Entwicklern die Nutzung der Fabrikfunktionalität ohne Instanziierung.
Einschränkungen
Einschränkungen für IShape.Frame
Es wurden Einschränkungen für die Verwendung undefinierter Werte für IShape.Frame hinzugefügt. Code, der versucht, einen undefinierten Rahmen an IShape.Frame zuzuweisen, ergibt in den meisten Fällen keinen Sinn (insbesondere wenn das übergeordnete GroupShape mehrfach in andere {{GroupShape}}s verschachtelt 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 von x, y, width, height, flipH, flipV und rotationAngle müssen definiert sein (und dürfen nicht auf float.NaN oder NullableBool.NotDefined gesetzt werden). Der obige Beispielcode wirft jetzt eine ArgumentException.
Dies gilt für folgende Anwendungsfälle:
IShape shape = ...;
shape.Frame = ...; // Cannot be undefined
IShapeCollection shapes = ...;
// x, y, width, height parameters cannot be float.NaN:
{
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 Frame‑Eigenschaften von IShape.RawFrame können undefiniert sein. Dies ist sinnvoll, wenn eine Form mit einem Platzhalter verknüpft ist. Dann werden die undefinierten Frame‑Werte der Form vom übergeordneten Platzhalter überschrieben. Gibt es keinen übergeordneten Platzhalter, verwendet die Form Standardwerte, wenn sie den effektiven Frame basierend auf ihrem IShape.RawFrame auswertet. Die Standardwerte sind 0 und NullableBool.False für x, y, width, height, flipH, flipV und rotationAngle. Zum Beispiel:
IShape shape = ...; // shape is linked to placeholder
shape.RawFrame = new ShapeFrame(float.NaN, float.NaN, 100, float.NaN, NullableBool.NotDefined, NullableBool.NotDefined, 0);
// now shape inherits x, y, height, flipH, flipV values form placeholder and overrides width=100 and rotationAngle=0.
Geänderte Eigenschaften
Der Name und Typ der Eigenschaft Aspose.Slides.IShapeCollection.Parent wurde geändert
- Der Typ der Eigenschaft Aspose.Slides.IShapeCollection.Parent wurde von ISlideComponent auf das neue IGroupShape-Interface geändert. Das IGroupShape-Interface ist ein Nachfolger von ISlideComponent, sodass bestehender Code keine Anpassungen benötigt.
- Der Name der Eigenschaft Aspose.Slides.IShapeCollection.Parent wurde von Parent zu ParentGroup geändert.
Die Typen der Eigenschaften Aspose.Slides.IShapeFrame.FlipH und .FlipV wurden geändert
- Der Typ der Eigenschaft Aspose.Slides.IShapeFrame.FlipH wurde von bool zu NullableBool geändert.
- Die Eigenschaft IShape.Frame gibt eine effektive Instanz von IShapeFrame zurück (alle Eigenschaften haben definierte effektive Werte).
- Die Eigenschaft IShape.RawFrame gibt eine Instanz von IShapeFrame zurück, bei der jede Eigenschaft einen undefinierten Wert haben kann (insbesondere FlipH oder FlipV können den Wert NullableBool.NotDefined haben).