プレゼンテーションのスライド全体の背景を画像として取得

スライド全体の背景を取得する

PowerPoint プレゼンテーションでは、スライドの背景は多数の要素で構成される可能性があります。slide background として設定された画像に加えて、最終的な背景はプレゼンテーションのテーマ、配色、マスタースライドやレイアウトスライドに配置された図形の影響を受けます。

Aspose.Slides for Java には、プレゼンテーション全体のスライド背景を画像として抽出する簡単なメソッドはありませんが、以下の手順で実行できます。

  1. Presentation クラスを使用してプレゼンテーションをロードします。
  2. プレゼンテーションからスライドサイズを取得します。
  3. スライドを選択します。
  4. 一時的なプレゼンテーションを作成します。
  5. 一時的なプレゼンテーションに同じスライドサイズを設定します。
  6. 選択したスライドを一時的なプレゼンテーションにクローンします。
  7. クローンしたスライドから図形を削除します。
  8. クローンしたスライドを画像に変換します。

以下のコード例は、プレゼンテーション全体のスライド背景を画像として抽出します。

var slideIndex = 0;
var imageScale = 1;

var presentation = new Presentation("sample.pptx");

var slideSize = presentation.getSlideSize().getSize();
var slide = presentation.getSlides().get_Item(slideIndex);

var tempPresentation = new Presentation();

var slideWidth = (float)slideSize.getWidth();
var slideHeight = (float)slideSize.getHeight();
tempPresentation.getSlideSize().setSize(slideWidth, slideHeight, SlideSizeScaleType.DoNotScale);

var clonedSlide = tempPresentation.getSlides().addClone(slide);
clonedSlide.getShapes().clear();

var background = clonedSlide.getImage(imageScale, imageScale);
background.save("output.png", ImageFormat.Png);

tempPresentation.dispose();
presentation.dispose();

よくある質問

マスタースライドからの複雑なグラデーション、テクスチャ、または画像塗りつぶしは、生成される背景画像に保持されますか?

はい。Aspose.Slides はスライド、レイアウト、またはマスターで定義されたグラデーション、画像、テクスチャの塗りつぶしをレンダリングします。継承されたマスターから外観を分離したい場合は、エクスポート前に現在のスライドにset an own background を設定してください。

保存前に生成された背景画像に透かしを追加できますか?

はい。watermark 形状または画像を作業用のcopy of the slide に(他のコンテンツの背後に配置して)追加し、エクスポートできます。これにより、透かしが埋め込まれた背景画像を生成できます。

既存のスライドに紐付けずに、特定のレイアウトまたはマスターの背景を取得できますか?

はい。目的のマスターまたはレイアウトにアクセスし、必要なサイズのtemporary slide に適用してエクスポートすれば、そのレイアウトまたはマスターから派生した背景を取得できます。

画像エクスポートに影響するライセンス制限はありますか?

レンダリング機能はvalid license があれば完全に利用可能です。評価モードでは透かしなどの制限が出力に含まれる場合があります。バッチエクスポートを実行する前に、プロセスごとにライセンスを有効化してください。