Öffentliches API und nicht abwärtskompatible Änderungen in Aspose.Slides für Java 14.5.0

Öffentliches API und nicht abwärtskompatible Änderungen

Hinzugefügte Klassen und Methoden

Hinzugefügt das Aspose.Slides.IPresentationInfo-Interface und die PresentationInfo-Klasse

Repräsentiert Informationen über Präsentationen.

Die Methode Boolean isEncrypted() gibt True zurück, wenn eine Präsentation verschlüsselt ist, andernfalls False.

Die Methode LoadFormat getLoadFormat() gibt den Präsentationstyp zurück.

Hinzugefügt die Aspose.Slides.IShape.isGrouped() Methode

Die Methode Aspose.Slides.IShape.isGrouped() bestimmt, ob die Form gruppiert ist.

Hinzugefügt die Aspose.Slides.IShape.getParentGroup() Methode

Die Methode Aspose.Slides.IShape.getParentGroup() gibt das übergeordnete GroupShape-Objekt zurück, wenn die Form gruppiert ist. Andernfalls wird null zurückgegeben.

Hinzugefügt die 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 Größe und Position des GroupShape-Rahmens wird an den Inhalt angepasst, wenn eine neue Form in das GroupShape hinzugefügt wird.

Hinzugefügt die Aspose.Slides.IShapeCollection.clear() Methode

Die Methode Aspose.Slides.IShapeCollection.clear() entfernt alle Formen aus der Sammlung.

Hinzugefügt die Aspose.Slides.IShapeCollection.insertGroupShape(int) Methode

Die Methode Aspose.Slides.IShapeCollection.insertGroupShape(int) erstellt ein neues GroupShape und fügt es an dem angegebenen Index in die Sammlung ein. Die Größe und Position des GroupShape-Rahmens wird an den Inhalt angepasst, wenn eine neue Form in das GroupShape hinzugefügt wird.

Hinzugefügt die IPresentationFactory.getPresentationInfo(string file), IPresentationFactory.getPresentationInfo(InputStream stream) Methoden

Diese Methoden ermöglichen es Entwicklern, Informationen über eine Präsentationsdatei/-stream zu erhalten, ohne die vollständige Präsentation zu laden.

Hinzugefügt die IPresentationFactory PresentationFactory.getInstance() Methode

Ermöglicht die Nutzung der Fabrikfunktionalität ohne Instanziierung.

Einschränkungen

Einschränkungen wurden hinzugefügt zur Verwendung undefinierter Werte für IShape.getFrame()

Code, der versucht, einen undefinierten Rahmen an IShape.setFrame(IShapeFrame) zuweisen, macht in allgemeinen Fällen wenig Sinn (insbesondere wenn das übergeordnete GroupShape mehrfach in andere {{GroupShape}}s verschachtelt ist). Zum Beispiel:


 IShape shape = ...;

shape.setFrame(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);

Ein 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, Breite, Höhe, flipH, flipV und rotationAngle müssen definiert sein (nicht Float.NaN oder NullableBool.NotDefined). Der obige Beispielcode wirft jetzt eine ArgumentException-Ausnahme. Dies gilt für diese Anwendungsfälle:


 IShape shape = ...;

shape.setFrame(...); // kann nicht undefiniert sein

IShapeCollection shapes = ...;

// x, y, Breite, Höhe-Parameter können 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 der IShape.getRawFrame()-Rahmen kann undefiniert sein. Das macht Sinn, wenn eine Form mit einem Platzhalter verknüpft ist. Dann werden undefinierte Rahmenwerte von der übergeordneten Platzhalterform überschrieben. Wenn es keine übergeordnete Platzhalterform für diese Form gibt, verwendet sie Standardwerte, wenn sie den effektiven Rahmen basierend auf ihrem IShape.getRawFrame() evaluiert. Standardwerte sind 0 und NullableBool.False für x, y, Breite, Höhe, flipH, flipV und rotationAngle. Zum Beispiel:


 IShape shape = ...; // Form ist mit Platzhalter verknüpft

shape.setRawFrame(new ShapeFrame(Float.NaN, Float.NaN, 100, Float.NaN, NullableBool.NotDefined, NullableBool.NotDefined, 0));

// jetzt erbt die Form x, y, Höhe, flipH, flipV-Werte vom Platzhalter und überschreibt Breite=100 und rotationAngle=0.

Geänderte Eigenschaften

Geändert den Typ und Namen der Aspose.Slides.IShapeCollection.getParent() Methode

Der Typ der Aspose.Slides.IShapeCollection.Parent-Eigenschaft wurde von ISlideComponent in das neue IGroupShape-Interface geändert. Das IGroupShape-Interface ist ein Nachfahre des ISlideComponent, sodass bestehender Code keine Anpassung benötigt.

Der Name der Aspose.Slides.IShapeCollection.getParent()-Methode wurde von getParent in getParentGroup() geändert.

Ändern den Typ der Aspose.Slides.IShapeFrame.getFlipH() und .getFlipV() Methoden

Der Typ der Aspose.Slides.IShapeFrame.getFlipH() Methode wurde von bool in NullableBool geändert.

Die IShape.getFrame() Methode gibt die effektive Instanz von IShapeFrame zurück (alle Eigenschaften davon haben definierte effektive Werte).

Die IShape.getRawFrame() Methode gibt eine IShapeFrame-Instanz zurück, deren jede Eigenschaft undefinierte Werte haben kann (insbesondere FlipH oder FlipV kann den Wert NullableBool.NotDefined haben).