サムネイルは通常、ファイルの内容を表示し、ファイルを簡単にスクロールできるようにする小さなサイズの画像です。 Microsoft PowerPointは、スライドのサムネイルを表示して、目的のスライドを簡単にスクロールして開くことができるようにします。独自のPowerPointビューアアプリケーションを作成し、スライドのサムネイルを動的に生成したい場合があります。このような場合、この記事では、C++を使用してプログラムでPowerPoint PPTXまたはPPTプレゼンテーションのサムネイルを生成する方法を説明します。
- PowerPoint PPTX/PPTファイルのサムネイルを生成するためのC++API
- C++を使用してPowerPoint PPTX/PPTファイルのサムネイルを生成する
- ユーザー定義のディメンションを使用してサムネイルを生成する
PowerPoint PPTX/PPTファイルのサムネイルを生成するためのC++API
PowerPointファイルのサムネイルを生成するには、シンプルで使いやすいAspose.Slides for C++APIを使用します。これは、PowerPointファイルの作成、読み取り、および変更に役立つ多くの機能を提供する堅牢なAPIです。 APIは、PowerPointファイルのサムネイルを生成する機能も提供します。まず、NuGetからAPIをインストールするか、ダウンロードセクションから直接ダウンロードします。
PM> Install-Package Aspose.Slides.Cpp
C++を使用してPowerPoint PPTX/PPTファイルのサムネイルを生成する
以下は、C++を使用してPowerPointファイルのサムネイルを生成する手順です。
- Presentationクラスを使用してPowerPointファイルをロードします。
- プレゼンテーションのスライドをループします。
- ISlide->GetThumbnail(float scaleX, float scaleY)メソッドを使用して、各スライドのサムネイルを生成します。
- Bitmap->Save(const String & filename, const Imaging::ImageFormatPtr & format)メソッドを使用してサムネイル画像を保存します。
次のサンプルコードは、C++を使用してPowerPointファイルのサムネイルを生成する方法を示しています。
// ソースファイルのパス
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
// プレゼンテーションファイルをロードする
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// スライドをループする
for (SharedPtr<ISlide> slide : presentation->get_Slides())
{
// サムネイルを生成する
SharedPtr<System::Drawing::Bitmap> bitmap = slide->GetThumbnail(1, 1);
// JPEGファイルを保存します
bitmap->Save(String::Format(u"OutputDirectory\\GenerateThumbnail_out_{0}.jpg", slide->get_SlideNumber()), System::Drawing::Imaging::ImageFormat::get_Jpeg());
}
ユーザー定義のディメンションを使用してサムネイルを生成する
PowerPointファイルのサムネイルを生成するときに、要件に応じてサムネイルのサイズを指定することもできます。サムネイルの生成中にカスタムサイズを指定するには、以下の手順に従ってください。
- Presentationクラスを使用してPowerPointファイルをロードします。
- サムネイルに必要なサイズを設定します。
- プレゼンテーションのスライドをループします。
- ISlide->GetThumbnail(float scaleX, float scaleY)メソッドを使用して、各スライドのサムネイルを生成します。
- Bitmap->Save(const String & filename, const Imaging::ImageFormatPtr & format)メソッドを使用してサムネイル画像を保存します。
次のサンプルコードは、C++を使用してカスタムサイズのサムネイルを生成する方法を示しています。
// ソースファイルのパス
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
// プレゼンテーションファイルをロードする
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// ユーザー定義のディメンション
int desiredX = 1200;
int desiredY = 800;
// XとYのスケーリングされた値を取得する
float ScaleX = (float)(1.0 / presentation->get_SlideSize()->get_Size().get_Width()) * desiredX;
float ScaleY = (float)(1.0 / presentation->get_SlideSize()->get_Size().get_Height()) * desiredY;
// スライドをループする
for (SharedPtr<ISlide> slide : presentation->get_Slides())
{
// サムネイルを生成する
SharedPtr<System::Drawing::Bitmap> bitmap = slide->GetThumbnail(ScaleX, ScaleY);
// JPEGファイルを保存します
bitmap->Save(String::Format(u"OutputDirectory\\GenerateThumbnailWithCustomDimensions_out_{0}.jpg", slide->get_SlideNumber()), System::Drawing::Imaging::ImageFormat::get_Jpeg());
}
無料ライセンスを取得する
評価制限なしでAPIを試すために、無料の一時ライセンスをリクエストできます。
結論
この記事では、C++を使用してPowerPoint PPTX/PPTファイルのサムネイルを生成する方法を学習しました。さらに、カスタムサイズのサムネイルを生成する方法を見てきました。 Aspose.Slides for C++ APIが提供する機能の詳細については、公式ドキュメントにアクセスしてください。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。