Aspose.Slides for PHP via 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}}に複数回ネストされている場合)。例えば:

  $shape = $$missing$;
  $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例外をスローします。 これは以下の使用ケースに適用されます:

  $shape = $$missing$;
  $shape->setFrame();// 未定義にすることはできません

  $shapes = $$missing$;
  # 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です。例えば:

  $shape = $$missing$;// シェイプはプレースホルダーにリンクされています

  $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の値を持つことがあります)。