PDFツール

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

公開済み 2024年3月12日
共有:

イントロダクション

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

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

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

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

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

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

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

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

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

PowerPointインターロップライブラリの使用

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

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

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

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

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

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

 related to 新しいVisual Studioプロジェクトを作成する プロジェクト」を選択します。" />

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

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

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

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

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

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

C#を使用してPowerPointを画像に変換する方法:図3 - 適切な.NET Frameworkを選択し、「Create」ボタンをクリックする。

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ファイルのパス(pptFilePath`). PowerPointプレゼンテーションの実際の写真への変換は、この方法で処理されます。

パワーポイント・プレゼンテーション・ファイル

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

**アプリケーション pptApplication = 新しいアプリケーション()は、PowerPointプログラムの新しいインスタンスを開始するために使用されます。 これにより、PowerPointを使用したプログラムによる対話が可能になります。 pptApplication.Presentationsを使って、pptFilePath.Openで指定されたPowerPointプレゼンテーションファイルを開きます。() 関数。 この関数は、開いたプレゼンテーションを表すPresentationオブジェクトを返します。 出力フォルダ「outputFolder」が存在するかどうかを判断します。 そうでない場合は、`Directory.CreateDirectory()作成する

コンソール出力

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

プレゼンテーション内の各スライドを反復処理するために、forループを使用します。 pptPresentationは、プロパティSlides.Countを使用してスライドの総数を提供します。 出力フォルダのパスとスライドインデックスを使用して、各スライドの画像の出力パスを作成します。(スライド{i}.png). 次に、pptPresentationを使ってPowerPointのスライドを画像としてエクスポートします。(この例では、JPG画像、PNG画像形式)エクスポート()関数。 パラメータは画像形式です(PNG形式)サイズ(幅: 1024、高さ: 768). 最後に、pptPresentationを使用してプレゼンテーションを終了します。 閉じる()pptApplicationを使用してPowerPointのセッションを終了してください。 システムリソースを適切に放棄するには、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フレームワークであるIronXLExcelファイルをC#で操作しやすくします。 多数の機能を備えたExcelファイルの読み取り、作成、および編集が可能なため、幅広い用途に適した柔軟なツールです。 以下に、IronXLの主な機能のいくつかを紹介します:

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

    ドキュメントの詳細についてはIronXL ドキュメント.

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 - コンソール出力。

コードの詳細については、以下を参照してください。IronXL.Excel の翻訳例.

結論

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

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

AIronXL 無料トライアル広範な機能とサポートを含む ウェブサイトに訪問してくださいIronXL ライセンス情報包括的で最新のライセンス情報については、参照してください。 ウェブサイトに訪問してくださいIron Software ウェブサイトIron Software製品についてさらに詳しく知る。

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