Aspose.Slides for Java 14.5.0における公開APIと互換性のない変更

公開APIと互換性のない変更

追加されたクラスとメソッド

Aspose.Slides.IPresentationInfoインターフェイスとPresentationInfoクラスの追加

プレゼンテーションに関する情報を表します。

メソッド Boolean isEncrypted() は、プレゼンテーションが暗号化されている場合にはTrueを返し、そうでない場合はFalseを返します。

メソッド LoadFormat getLoadFormat() はプレゼンテーションのタイプを取得します。

Aspose.Slides.IShape.isGrouped()メソッドの追加

メソッド Aspose.Slides.IShape.isGrouped() は、形状がグループ化されているかどうかを判断します。

Aspose.Slides.IShape.getParentGroup()メソッドの追加

メソッド Aspose.Slides.IShape.getParentGroup() は、形状がグループ化されている場合、親のGroupShapeオブジェクトを返します。そうでない場合はnullを返します。

Aspose.Slides.IShapeCollection.addGroupShape()メソッドの追加

メソッド Aspose.Slides.IShapeCollection.addGroupShape() は新しいGroupShapeを作成し、コレクションの最後に追加します。

新しい形状がGroupShapeに追加されると、GroupShapeのフレームサイズと位置は内容に合わせて調整されます。

Aspose.Slides.IShapeCollection.clear()メソッドの追加

メソッド Aspose.Slides.IShapeCollection.clear() はコレクションからすべての形状を削除します。

Aspose.Slides.IShapeCollection.insertGroupShape(int)メソッドの追加

メソッド Aspose.Slides.IShapeCollection.insertGroupShape(int) は新しいGroupShapeを作成し、指定されたインデックスでコレクションに挿入します。 新しい形状がGroupShapeに追加されると、GroupShapeのフレームサイズと位置は内容に合わせて調整されます。

IPresentationFactory.getPresentationInfo(string file)、IPresentationFactory.getPresentationInfo(InputStream stream)メソッドの追加

これらのメソッドは、開発者がプレゼンテーションファイル/ストリームについての情報をフルプレゼンテーションをロードせずに取得できるようにします。

IPresentationFactory PresentationFactory.getInstance()メソッドの追加

インスタンス化せずにファクトリ機能を使用できるようにします。

制限

IShape.getFrame()に対する未定義値の使用に制限が追加されました

未定義のフレームをIShape.setFrame(IShapeFrame)に割り当てようとするコードは、一般的には意味がありません(特に親のGroupShapeが他の{{GroupShape}}に複数回ネストされている場合)。例えば:


 IShape shape = ...;

shape.setFrame(new ShapeFrame(Float.NaN, Float.NaN, Float.NaN, Float.NaN, NullableBool.NotDefined, NullableBool.NotDefined, Float.NaN));

または


 slide.Shapes.AddAutoShape(ShapeType.RoundCornerRectangle, Float.NaN, Float.NaN, Float.NaN, Float.NaN);

このようなコードはあいまいな状況につながる可能性があります。したがって、IShape.Frameに対する未定義値の使用に制限が追加されました。x、y、width、height、flipH、flipV、およびrotationAngleの値は定義されている必要があります(Float.NaNまたはNullableBool.NotDefinedであってはいけません)。上記の例コードは現在、ArgumentException例外をスローします。 これは以下の使用ケースに適用されます:


 IShape shape = ...;

shape.setFrame(...); // 未定義にはできません

IShapeCollection shapes = ...;

// x、y、width、heightパラメータは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(...);

}

しかし、IShape.getRawFrame()フレームは未定義である可能性があります。これは、形状がプレースホルダーにリンクされている場合に意味があります。未定義の形状フレーム値は、親のプレースホルダー形状から上書きされます。その形状に親のプレースホルダー形状がない場合は、IShape.getRawFrame()に基づいて効果的なフレームが評価されるときにデフォルト値が使用されます。デフォルト値はx、y、width、height、flipH、flipV、rotationAngleの値がそれぞれ0およびNullableBool.Falseです。例えば:


 IShape shape = ...; // 形状はプレースホルダーにリンクされている

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

// 現在、形状はプレースホルダーからx、y、height、flipH、flipVの値を継承し、width=100およびrotationAngle=0を上書きします。

変更されたプロパティ

Aspose.Slides.IShapeCollection.getParent()メソッドの型と名前の変更

Aspose.Slides.IShapeCollection.Parentプロパティの型はISlideComponentから新しいIGroupShapeインターフェイスに変更されました。IGroupShapeインターフェイスはISlideComponentの子孫であるため、既存のコードは適応の必要がありません。

Aspose.Slides.IShapeCollection.getParent()メソッドの名前はgetParentからgetParentGroup()に変更されました。

Aspose.Slides.IShapeFrame.getFlipH()および.getFlipV()メソッドの型の変更

Aspose.Slides.IShapeFrame.getFlipH()メソッドの型はboolからNullableBoolに変更されました。

IShape.getFrame()メソッドは、IShapeFrameの有効なインスタンスを返します(すべてのプロパティは定義された有効な値を持っています)。

IShape.getRawFrame()メソッドは、各プロパティが未定義の値を持つ可能性のあるIShapeFrameインスタンスを返します(特にFlipHまたはFlipVはNullableBool.NotDefinedの値を持つことがあります)。