C#でPowerPointをJPGに変換

概要

この記事では、C#を使用してPowerPointプレゼンテーションをJPG形式に変換する方法について説明します。以下のトピックをカバーします:

C# PowerPointからJPGへ

C#のPowerPointをJPGに変換するサンプルコードについては、以下のセクションを参照してください。つまり、PowerPointをJPGに変換です。このコードは、プレゼンテーションオブジェクトにPPT、PPTX、ODPなどの形式を読み込み、そのスライドサムネイルをJPG形式で保存します。PNG、BMP、TIFF、SVGのような他のPowerPointから画像への変換も、これらの記事で説明しています。

PowerPointからJPGへの変換について

Aspose.Slides .NET APIを使用すると、PowerPoint PPTまたはPPTXプレゼンテーションをJPG画像に変換できます。PPT/PPTXをBMP、PNG、SVGに変換することも可能です。この機能を利用すれば、独自のプレゼンテーションビューアを実装し、各スライドのサムネイルを作成できます。これは、プレゼンテーションスライドを著作権から保護したり、プレゼンテーションを読み取り専用モードで表示したりするのに役立ちます。Aspose.Slidesでは、全体のプレゼンテーションまたは特定のスライドを画像形式に変換できます。

todo:image_alt_text

PowerPoint PPT/PPTXをJPGに変換する手順

PPT/PPTXをJPGに変換する手順は以下の通りです:

  1. Presentationクラスのインスタンスを作成します。
  2. Presentation.SlidesコレクションからISlide型のスライドオブジェクトを取得します。
  3. 各スライドのサムネイルを作成し、JPGに変換します。ISlide.GetImage(float scaleX, float scaleY)メソッドを使用してスライドのサムネイルを取得し、Bitmapオブジェクトを返します。GetImageメソッドは必要なスライドのISlide型から呼び出され、結果のサムネイルのスケールがメソッドに渡されます。
  4. スライドサムネイルを取得した後、サムネイルオブジェクトからImage.Save(string filename, ImageFormat format)メソッドを呼び出します。結果のファイル名と画像形式を渡します。
const int imageScale = 1;

using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt"))
{
    foreach (ISlide slide in pres.Slides)
    {
        // フルスケール画像を作成
        using (IImage thumbnail = slide.GetImage(imageScale, imageScale))
        {
            // JPEG形式でディスクに画像を保存
			string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber);
            thumbnail.Save(imageFileName, ImageFormat.Jpeg);
        }
    }
}

カスタマイズされた寸法でPowerPoint PPT/PPTXをJPGに変換

生成されるサムネイルとJPG画像の寸法を変更するには、ISlide.GetImage(float scaleX, float scaleY)メソッドにScaleXScaleYの値を渡して設定できます:

using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx"))
{
    // 寸法を定義
    int desiredX = 1200;
    int desiredY = 800;

    // XとYのスケール値を取得
    float scaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX;
    float scaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY;

    foreach (ISlide slide in pres.Slides)
    {
        // フルスケール画像を作成
        using (IImage thumbnail = slide.GetImage(scaleX, scaleY))
        {
            // JPEG形式でディスクに画像を保存
			string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber);
            thumbnail.Save(imageFileName, ImageFormat.Jpeg);
        }
    }
}

画像にプレゼンテーションを保存する際のコメントのレンダリング

Aspose.Slides for .NETは、スライドを画像に変換するときにプレゼンテーションのスライドにコメントをレンダリングする機能を提供します。このC#コードは、その操作を示しています:

using (Presentation presentation = new Presentation("test.pptx"))
{
    IRenderingOptions options = new RenderingOptions
    {
        SlidesLayoutOptions = new NotesCommentsLayoutingOptions
        {
            NotesPosition = NotesPositions.BottomTruncated,
            CommentsAreaColor = Color.Red,
            CommentsAreaWidth = 200,
            CommentsPosition = CommentsPositions.Right
        }
    };

    using (IImage image = presentation.Slides[0].GetImage(options))
    {
        image.Save("OutPresBitmap.png", ImageFormat.Png);
    }

    System.Diagnostics.Process.Start("OutPresBitmap.png");
}

関連情報

PPT/PPTXを画像に変換する他のオプションを参照してください: