PDFツール

C# を使用して PowerPoint を画像に変換する方法

更新済み 3月 12, 2024
共有:

イントロダクション

変換の必要性 パワーポイント ソフトウェア開発の分野では、プレゼンテーションを画像フォーマットに変換することが頻繁に行われます。 多くの開発者は、プレビューの生成、サムネイルの作成、システム統合のために、PowerPointファイルをプログラムで写真に変換できることが便利であると感じています。 この記事では、C#を使用してPPTを画像に変換する方法を説明し、その過程で役立ついくつかのサンプルコードを含めます。

C#を使用してPowerPointを画像に変換する方法

  1. PowerPointアプリケーションインスタンスを作成します。

  2. インスタンスを使用してプレゼンテーションを開く。

  3. 出力フォルダを確認して作成します。

  4. スライドを繰り返し処理し、スライドを画像にエクスポート。

  5. プレゼンテーションを閉じてアプリケーションを終了します。

PowerPointプレゼンテーションを画像形式に変換しますか?

具体的な内容に入る前に、PowerPointスライドを写真に変換することの重要性について簡単に見てみましょう。 PowerPointはダイナミックなプレゼンテーションを作成するための優れたツールですが、これらのファイルを元の形式のまま共有することが常に可能であるとは限りません。 時には、プレゼンテーションから特定のスライドや写真だけが必要な場合があり、また別のシステムや設定ではPowerPointファイルの直接レンダリングができないことがあります。 PowerPointプレゼンテーションを画像に変換することで、様々なデバイスやアプリケーションで簡単に共有および表示できる包括的なソリューションが提供されます。

PowerPoint Intrope ライブラリの使用

PowerPoint プレゼンテーションを C# で画像に変換するためのいくつかの方法があります。 ご利用ありがとうございます。 Microsoft.Office.Interop.PowerPoint プログラムでPowerPointアプリケーションとインターフェースするためのクラスとメソッドを提供するnamespaceは、一般的なアプローチの一つです。 PowerPointファイルを扱うための広範な機能を提供するもう一つの戦略です。

新しいVisual Studioプロジェクトを作成する

新しいVisual Studioプロジェクトを作成するには、以下の手順に従ってください:

Visual Studio IDEを開いてください。以下がインストールされていることを確認してください。 ビジュアルスタジオ 使用する前にパソコンにインストールしてください。

新しいプロジェクトを開始する:

「ファイル」、「新規作成」、そして最後に「プロジェクト」を選択してください。

プロジェクト」を選択します。" />

「新しいプロジェクトを作成する」ボックスから、お好みのプログラミング言語を選択してください (例えば、C#) 左側から。

次に、「Console App」または「Console App」 (.NET Core(ドットネット コア))"利用可能なプロジェクトテンプレートのリストからテンプレートを選択してください。"

「名前」欄を埋めて、プロジェクトに名前を付けてください。

C#を使用してPowerPointを画像に変換する方法: フィギュア2 - Create New Projectボックスから、C#のプログラミング言語とConsole Appを選択します。プロジェクト名と場所を設定し、「Next」ボタンをクリックします。

プロジェクトの保存場所を選択してください。

「作成」をクリックして、新しいコンソールアプリケーションプロジェクトの作業を開始します。

PowerPointを画像に変換するためのC#の使い方: 図3 - 適切な.NET Frameworkを選択し、「作成」ボタンをクリックします。

C#でPowerPointスライドを画像に変換する

Microsoft.Office.Interop.PowerPoint名前空間を使用してPowerPointスライドを画像に変換する方法を見てみましょう。 必要なアセンブリがインストールされ、C#プロジェクトに参照として追加されていることを確認してください。これらのアセンブリは通常、InterOpアセンブリを直接参照するか、Microsoft Office Primary Interop Assembliesをインストールすることで見つかります。 (PIA).

コード例

using System.IO;
using Microsoft.Office.Interop.PowerPoint;
class Program
{
    static void Main(string [] args)
    {
        string pptFilePath = "demo.pptx"; // Path to your PowerPoint file
        string outputFolder = "output_images"; // Output folder path where images will be saved
        ConvertPptToImages(pptFilePath, outputFolder);
    }
    static void ConvertPptToImages(string pptFilePath, string outputFolder)
    {
        Application pptApplication = new Application();
        Presentation pptPresentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
        if (!Directory.Exists(outputFolder))
            Directory.CreateDirectory(outputFolder);
        int slidesCount = pptPresentation.Slides.Count;
        for (int i = 1; i <= slidesCount; i++)
        {
            string outputPath = Path.Combine(outputFolder, $"Slide{i}.png");
            pptPresentation.Slides [i].Export(outputPath, "png", 1024, 768);
        //saving the presentation slides into png images
        }
        pptPresentation.Close();
        pptApplication.Quit();
    }
}
using System.IO;
using Microsoft.Office.Interop.PowerPoint;
class Program
{
    static void Main(string [] args)
    {
        string pptFilePath = "demo.pptx"; // Path to your PowerPoint file
        string outputFolder = "output_images"; // Output folder path where images will be saved
        ConvertPptToImages(pptFilePath, outputFolder);
    }
    static void ConvertPptToImages(string pptFilePath, string outputFolder)
    {
        Application pptApplication = new Application();
        Presentation pptPresentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
        if (!Directory.Exists(outputFolder))
            Directory.CreateDirectory(outputFolder);
        int slidesCount = pptPresentation.Slides.Count;
        for (int i = 1; i <= slidesCount; i++)
        {
            string outputPath = Path.Combine(outputFolder, $"Slide{i}.png");
            pptPresentation.Slides [i].Export(outputPath, "png", 1024, 768);
        //saving the presentation slides into png images
        }
        pptPresentation.Close();
        pptApplication.Quit();
    }
}
Imports System.IO
Imports Microsoft.Office.Interop.PowerPoint
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim pptFilePath As String = "demo.pptx" ' Path to your PowerPoint file
		Dim outputFolder As String = "output_images" ' Output folder path where images will be saved
		ConvertPptToImages(pptFilePath, outputFolder)
	End Sub
	Private Shared Sub ConvertPptToImages(ByVal pptFilePath As String, ByVal outputFolder As String)
		Dim pptApplication As New Application()
		Dim pptPresentation As Presentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse)
		If Not Directory.Exists(outputFolder) Then
			Directory.CreateDirectory(outputFolder)
		End If
		Dim slidesCount As Integer = pptPresentation.Slides.Count
		For i As Integer = 1 To slidesCount
			Dim outputPath As String = Path.Combine(outputFolder, $"Slide{i}.png")
			pptPresentation.Slides (i).Export(outputPath, "png", 1024, 768)
		'saving the presentation slides into png images
		Next i
		pptPresentation.Close()
		pptApplication.Quit()
	End Sub
End Class
VB   C#

PowerPointアプリケーションを操作するために必要なC#の名前空間は、Microsoft.Office.Interop.PowerPointを使用してインポートされます。 宣言。 プログラムのエントリーポイントはMainメソッドです。 出力フォルダーを指定します (出力フォルダ)作成された写真が保存される場所であり、PowerPointファイルのパス (pptファイルパス). PowerPointプレゼンテーションを写真に変換する実際のプロセスは、このアプローチによって管理されます。 以下は、上記の例のコードで使用されるPowerPoint pptです。

PowerPointプレゼンテーションファイル

C# を使用して PowerPoint を画像に変換する方法: 図 4 - コード例で使用する PowerPoint ppt。

アプリケーション pptApplication = new アプリケーション()PowerPointプログラムの新しいインスタンスを開始するためには、を使用します。 これにより、PowerPointとのプログラムによる操作が可能になります。pptApplication.Presentations を使用して、pptFilePath で指定された PowerPoint プレゼンテーション ファイルを開きます。()関数 この関数によって、開かれたプレゼンテーションを表す Presentation オブジェクトが返されます。 出力フォルダー "outputFolder" が存在するかどうかを確認します。 そうでなければ、メソッド Directory.CreateDirectory を使用します。()作成するために。

コンソール出力

PowerPointを画像に変換するためのC#の使用方法: 図5 - コンソール出力

プレゼンテーション内の各スライドを反復処理するために、forループを使用します。 pptPresentationは、Slides.Countプロパティを使用してスライドの総数を提供します。 出力フォルダのパスとスライドインデックスを使用して、各スライドの画像の出力パスを作成します。 (スライド {i}.png). 次に、pptPresentationを使用してPowerPointスライドを画像としてエクスポートします。 (この例では、JPG画像、PNG画像形式). エクスポート機能を使用してください。

Note: The translation is context-specific and will vary if more context is provided.()関数 パラメータは画像形式です (PNG形式) サイズ (幅: 1024、高さ: 768). 最後に、pptPresentationを使用してプレゼンテーションを終了します。() PowerPointセッションを終了するためにpptApplicationを使用します。 システムリソースを適切に解放するために、Quitを使用します。().

出力 - PowerPointをPNG画像に変換

C#を使用してPowerPointを画像に変換する方法: 図6 - エクスポートされたPowerPointスライドのPNG画像出力

IronXL

IronXLは、開発者が最新のスプレッドシート機能を備えたスプレッドシートファイル(xls、xlsx、csvなど)を生成、操作、および利用するための強力なツールです。このライブラリは、.NET、Python、Javaなどのプログラミング言語で使用できます。IronXLを活用することで、アプリケーションにおけるデータ処理や分析を効率的に行うことができます。

主な機能:

  • スプレッドシートの作成と編集:
    • 新しいスプレッドシートファイルの作成
    • 既存のスプレッドシートファイルの読み込みおよび編集
  • セル、行、および列の操作
  • データ操作:
    • データのフィルタリングおよび並べ替え
    • 数式および関数の使用
  • セルスタイルとフォーマットの設定
  • インポートおよびエクスポート:
    • csv、xls、xlsx、tsvファイルなどのインポートおよびエクスポート
    • 複数のシートのサポート

IronXLはまた、Excelのスタイルやフォーマットの設定を簡単に行える機能も提供しており、開発者がユーザーフレンドリーなスプレッドシートソリューションを作成するのを助けます。また、IronXLは信頼性の高いパフォーマンスを提供し、スプレッドシート関連の多くのタスクを迅速かつ効率的に処理します。

IronXLを使用することで、複雑なデータ操作タスクを簡単に自動化し、スプレッドシート管理の効率を大幅に向上させることができます。

人気のある .NET フレームワークとして知られている IronXL ExcelファイルをC#で操作しやすくします。 多数の機能を備えたExcelファイルの読み取り、作成、および編集が可能なため、幅広い用途に適した柔軟なツールです。 以下に、IronXLの主な機能のいくつかを紹介します:

  • 開発者は、新しいExcelファイルまたは既存のExcelファイルにデータを書き込んだり、既存のExcelファイルからデータを読み取ったりすることが簡単にできます。 IronXL. これは、書式設定、数式、セル値などのワークシートおよびワークブック属性へのアクセスを得ることを含みます。
  • IronXLを使用すると、開発者はデータベースやCSVファイルを含むさまざまなソースからExcelスプレッドシートにデータをインポートできます。 同様に、Excelファイルからの情報は、他のファイル形式の中で、CSV、HTML、XML、PDFなどにエクスポートすることができます。
  • 開発者は、IronXLを使用してExcelスプレッドシートからワークシートを動的に追加、編集、削除できます。 これは、アプリケーションのニーズに基づいたデータの組織化および構造の柔軟性を提供します。
  • IronXLはExcelスプレッドシートの個々のセルを正確に操作することが可能です。 プログラムによって、開発者は書式設定、スタイル、数式、セルの値、およびその他の特性を設定することができます。

    詳しいドキュメントについては、以下を参照してください これ.

IronXLをインストール

次に進む前に、NuGet パッケージ マネージャ コンソールを使用して IronXL をインストールしましょう:

Install-Package IronXL.Excel

インストール後、IronXLはC#プロジェクトで使用できます。

IronXLを使用したExcel操作

仮想の状況を検討してみましょう。IronXLを使用してExcelファイルからデータを読み取りたいとします。

以下のコードサンプルでその方法を簡単に説明します:

using IronXL;
using System;
class Program
{
    static void Main(string [] args)
    {
        // Path to the Excel file
        string excelFilePath = "sample.xlsx";
        // Load the Excel file
        WorkBook workbook = WorkBook.Load(excelFilePath);
        // Access the first worksheet
        WorkSheet worksheet = workbook.WorkSheets [0];
        // Iterate through rows and columns to read data
        foreach (var row in worksheet.Rows)
        {
            foreach (var cell in row)
            {
                Console.Write(cell.Value + "\t");
            }
            Console.WriteLine();
        }
    }
}
using IronXL;
using System;
class Program
{
    static void Main(string [] args)
    {
        // Path to the Excel file
        string excelFilePath = "sample.xlsx";
        // Load the Excel file
        WorkBook workbook = WorkBook.Load(excelFilePath);
        // Access the first worksheet
        WorkSheet worksheet = workbook.WorkSheets [0];
        // Iterate through rows and columns to read data
        foreach (var row in worksheet.Rows)
        {
            foreach (var cell in row)
            {
                Console.Write(cell.Value + "\t");
            }
            Console.WriteLine();
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronXL
Imports System
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Path to the Excel file
		Dim excelFilePath As String = "sample.xlsx"
		' Load the Excel file
		Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
		' Access the first worksheet
		Dim worksheet As WorkSheet = workbook.WorkSheets (0)
		' Iterate through rows and columns to read data
		For Each row In worksheet.Rows
			For Each cell In row
				Console.Write(cell.Value & vbTab)
			Next cell
			Console.WriteLine()
		Next row
	End Sub
End Class
VB   C#

まず、必要な名前空間を含めます。 IronXLライブラリが提供するクラスとメソッドは、IronXL名前空間に含まれています。 読み取りたいExcelファイルのパス (sample.xlsx) 指定されています。 WorkBook は、Excelファイルを読み込むために使用されます。Excelワークブックは、Load メソッドによって返される WorkBook オブジェクトで表されます。()関数 ワークブックを使用して、workbook.WorkSheets 内の最初のワークシートにアクセスすることができます。 [0]**. ネストされた foreach ループを使用して、ワークシートの行と列を走査します。 各セルの値をコンソールに出力します。

C#を使用してPowerPointを画像に変換する方法:図7 - コンソール出力。

コードについてさらに詳しく知るには、参照してください これ.

結論

多くのソフトウェアアプリケーションでは、C#を使用してPowerPointプレゼンテーションを写真に変換する必要があります。 Microsoft.Office.Interop.PowerPoint 名前空間を使用するかしないかに関係なく、手順は比較的迅速に完了できます。 この記事のコード例は、C#アプリにPowerPointから画像への変換機能を簡単に組み込む方法を提供し、情報の配布と変更の多くの機会を創出します。

ターゲットマシンにExcelがインストールされている必要はなく、Interopライブラリに依存することもありません。 IronXL C#でExcel操作を迅速かつ効果的に実行する方法を提供します。 C#アプリケーションでExcelデータを処理するためにIronXLを使用する開発者は、ユーザーフレンドリーなAPIと広範な機能セットにより、Excelファイルの読み込み、書き込み、および変更といった操作が効率化されることを発見するでしょう。 IronXLは、レポートの作成、データの処理、またはスプレッドシートの作業の自動化にかかわらず、Excel関連の開発プロジェクトにおいて効率と柔軟性を向上させる信頼性の高いソリューションを提供します。

A 無料トライアル. それらはより完全に機能し、より多くの機能やサポートを提供します。 IronXLを訪問 ウェブサイト 包括的で最新のライセンス情報については、参照してください。 こちらをご覧ください ウェブサイト Iron Software製品についてさらに詳しく知る。

< 以前
PDFを180度回転する方法(初心者向けチュートリアル)
次へ >
C# を使用して PowerPoint プレゼンテーションを作成する方法

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 10,659,073 View Licenses >