Javaでプレゼンテーション シェイプのサムネイルを作成

概要

このトピックでは、さまざまな状況でスライド サムネイルを生成する方法を示します。

  • スライド内のシェイプのサムネイルを生成する。
  • ユーザー定義のサイズでスライド シェイプのサムネイルを生成する。
  • シェイプの外観の境界内でサムネイルを生成する。

スライドからシェイプ サムネイルを生成する

Aspose.Slides for Java を使用して任意のスライドからシェイプ サムネイルを生成するには、次の手順を実行します。

  1. Presentation クラスのインスタンスを作成します。
  2. ID またはインデックスを使用して任意のスライドへの参照を取得します。
  3. 参照したスライドの シェイプ サムネイル画像 をデフォルト スケールで取得します。
  4. サムネイル画像を好みの画像形式で保存します。

このサンプル コードは、スライドからシェイプ サムネイルを生成する方法を示しています:

// プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // フルスケールの画像を作成
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage();
    
    // 画像を PNG 形式でディスクに保存
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

ユーザー定義スケーリング係数サムネイルを生成する

Aspose.Slides for Java を使用してスライドのシェイプ サムネイルを生成するには、次の手順を実行します。

  1. Presentation クラスのインスタンスを作成します。
  2. ID またはインデックスを使用して任意のスライドへの参照を取得します。
  3. ユーザー定義のサイズで参照したスライドの シェイプ サムネイル画像 を取得します。
  4. サムネイル画像を好みの画像形式で保存します。

このサンプル コードは、定義されたスケーリング係数に基づいてシェイプ サムネイルを生成する方法を示しています:

// プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // フルスケールの画像を作成
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage(ShapeThumbnailBounds.Shape, 1, 1);

    // 画像を PNG 形式でディスクに保存
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

境界ベースのシェイプ外観サムネイルを作成する

このサムネイル作成方法は、シェイプの外観の境界内でサムネイルを生成できます。すべてのシェイプ効果が考慮され、生成されたシェイプ サムネイルはスライドの境界で制限されます。シェイプの外観の境界でスライド シェイプのサムネイルを生成するには、次の手順を実行します。

  1. Presentation クラスのインスタンスを作成します。
  2. ID またはインデックスを使用して任意のスライドへの参照を取得します。
  3. シェイプの外観を境界として参照したスライドのサムネイル画像を取得します。
  4. サムネイル画像を好みの画像形式で保存します。

このサンプル コードは上記の手順に基づいています:

// プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // フルスケールの画像を作成
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage(ShapeThumbnailBounds.Appearance, 1, 1);

    // 画像を PNG 形式でディスクに保存
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

FAQ

シェイプ サムネイルを保存する際に使用できる画像形式は何ですか?

PNG、JPEG、BMP、GIF、TIFF、その他多数。シェイプは、シェイプのコンテンツを SVG として保存することで、ベクター SVG としてエクスポート することもできます。

サムネイルをレンダリングする際の Shape 境界と Appearance 境界の違いは何ですか?

Shape はシェイプのジオメトリを使用します。Appearanceビジュアル効果(影、光彩など)を考慮します。

シェイプが非表示としてマークされている場合、サムネイルは生成されますか?

非表示のシェイプはモデルの一部として残り、レンダリング可能です。非表示フラグはスライドショー表示に影響しますが、シェイプの画像生成を妨げません。

グループ シェイプ、チャート、SmartArt、その他の複雑なオブジェクトはサポートされていますか?

はい。Shape として表現できるオブジェクト(GroupShapeChartSmartArt など)すべてサムネイルまたは SVG として保存できます。

システムにインストールされているフォントは、テキスト シェイプのサムネイル品質に影響しますか?

はい。不要なフォント置き換えやテキストの再配置を防ぐために、必要なフォントを提供(またはフォント置換を構成)する必要があります。