スライドの変換

Aspose.Slides for .NETを使用すると、スライド(プレゼンテーション内の)を画像に変換できます。サポートされている画像形式は次のとおりです: BMP、PNG、JPG(JPEG)、GIF、およびその他。

スライドを画像に変換するには、次のようにします:

  1. まず、変換パラメータと変換するスライドオブジェクトを設定します:

  2. 次に、GetImageメソッドを使用してスライドを画像に変換します。

ビットマップおよびその他の画像形式について

.NETにおけるBitmapは、ピクセルデータによって定義された画像を操作するオブジェクトです。このクラスのインスタンスを使用して、幅広い形式(BMP、JPG、PNGなど)で画像を保存できます。

スライドをビットマップに変換し、PNG形式で画像を保存する

このC#コードは、プレゼンテーションの最初のスライドをビットマップオブジェクトに変換し、次に画像をPNG形式で保存する方法を示しています。

using (Presentation pres = new Presentation("Presentation.pptx"))
{
    // プレゼンテーションの最初のスライドをビットマップオブジェクトに変換
    using (IImage image = pres.Slides[0].GetImage())
    {
        // PNG形式で画像を保存
        image.Save("Slide_0.png", ImageFormat.Png);
    }
}

カスタムサイズの画像にスライドを変換する

特定のサイズの画像が必要な場合があります。GetImageのオーバーロードを使用すると、特定の寸法(長さと幅)を持つ画像にスライドを変換できます。

このサンプルコードは、C#でのGetImageメソッドを使用した提案された変換を示しています:

using (Presentation pres = new Presentation("Presentation.pptx"))
{
    // プレゼンテーションの最初のスライドを指定サイズのビットマップに変換
    using (IImage image = pres.Slides[0].GetImage(new Size(1820, 1040)))
    {
        // JPEG形式で画像を保存
        image.Save("Slide_0.jpg", ImageFormat.Jpeg);
    }
}

ノートとコメントを含むスライドを画像に変換する

一部のスライドにはノートとコメントが含まれています。

Aspose.Slidesは、プレゼンテーションスライドを画像にレンダリングするための制御を可能にするITiffOptionsIRenderingOptionsの2つのインターフェースを提供します。両インターフェースには、スライドを画像に変換するときにノートとコメントを追加するためのINotesCommentsLayoutingOptionsインターフェースが含まれています。

このC#コードは、ノートとコメントを持つスライドの変換プロセスを示しています:

using (Presentation pres = new Presentation("PresentationNotesComments.pptx"))
{
    // レンダリングオプションを作成
    IRenderingOptions options = new RenderingOptions();

    // ページ内のノートの位置を設定
    options.NotesCommentsLayouting.NotesPosition = NotesPositions.BottomTruncated;

    // ページ内のコメントの位置を設定 
    options.NotesCommentsLayouting.CommentsPosition = CommentsPositions.Right;

    // コメント出力エリアの幅を設定
    options.NotesCommentsLayouting.CommentsAreaWidth = 500;

    // コメントエリアの色を設定
    options.NotesCommentsLayouting.CommentsAreaColor = Color.AntiqueWhite;

    // プレゼンテーションの最初のスライドをビットマップオブジェクトに変換
    using (IImage image = pres.Slides[0].GetImage(options, 2f, 2f))
    {
        // GIF形式で画像を保存
        image.Save("Slide_Notes_Comments_0.gif", ImageFormat.Gif);
    }
}

ITiffOptionsを使用してスライドを画像に変換する

ITiffOptionsインターフェースを使用すると、結果として得られる画像に対して(パラメータの観点から)より多くの制御が可能になります。このインターフェースを使用すると、結果として得られる画像のサイズ、解像度、カラーパレット、および他のパラメータを指定できます。

このC#コードは、ITiffOptionsを使用して300dpiの解像度と2160 × 2800のサイズで白黒画像を出力する変換プロセスを示しています:

using (Presentation pres = new Presentation("PresentationNotesComments.pptx"))
{
    // インデックスを使ってスライドを取得
    ISlide slide = pres.Slides[0];

    // TiffOptionsオブジェクトを作成
    TiffOptions options = new TiffOptions() { ImageSize = new Size(2160, 2880) };

    // ソースフォントが見つからない場合に使用するフォントを設定
    options.DefaultRegularFont = "Arial Black";

    // ページ内のノートの位置を設定 
    options.NotesCommentsLayouting.NotesPosition = NotesPositions.BottomTruncated;

    // ピクセル形式を設定(白黒)
    options.PixelFormat = ImagePixelFormat.Format1bppIndexed;

    // 解像度を設定
    options.DpiX = 300;
    options.DpiY = 300;

    // スライドをビットマップオブジェクトに変換
    using (IImage image = slide.GetImage(options))
    {
        // BMP形式で画像を保存
        image.Save("PresentationNotesComments.tiff", ImageFormat.Tiff);
    }
}  

すべてのスライドを画像に変換する

Aspose.Slidesを使用すると、単一のプレゼンテーション内のすべてのスライドを画像に変換できます。基本的に、プレゼンテーション全体を画像に変換することができます。

このサンプルコードは、C#でプレゼンテーション内のすべてのスライドを画像に変換する方法を示しています:

// 出力ディレクトリのパスを指定
string outputDir = @"D:\PresentationImages";

using (Presentation pres = new Presentation("Presentation.pptx"))
{
    // プレゼンテーションをスライドごとに画像にレンダリング
    for (int i = 0; i < pres.Slides.Count; i++)
    {
        // 非表示スライドの設定を指定(非表示スライドはレンダリングしない)
        if (pres.Slides[i].Hidden)
            continue;

        // スライドをビットマップオブジェクトに変換
        using (IImage image = pres.Slides[i].GetImage(2f, 2f))
        {
            // 画像のファイル名を作成
            string outputFilePath = Path.Combine(outputDir, "Slide_" + i + ".jpg");

            // JPEG形式で画像を保存
            image.Save(outputFilePath, ImageFormat.Jpeg);
        }
    }
}