PowerPointファイルのテキストをデータベースまたはいくつかのファイルに保存する必要があるシナリオに遭遇するかもしれません。このタスクを手動で実行すると、時間がかかり、効率が低下します。より良い方法は、プログラムで抽出を行うことです。そのために、この記事では、C++を使用してPowerPointファイルからテキストを抽出する方法を説明します。
- PowerPointファイルからテキストを抽出するC++API
- C++を使用してPowerPointスライドからテキストを抽出する
- C++を使用してPowerPointプレゼンテーションからテキストを抽出する
- 無料ライセンスを取得する
PowerPointファイルからテキストを抽出するC++API
Aspose.Slides for C++は、PowerPoint関連のタスクを自動化するのに役立つネイティブC++ライブラリです。 APIは、PowerPointプレゼンテーションの作成、読み取り、および変更をサポートします。さらに、APIは、PowerPointファイルからテキストを抽出する機能も提供します。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。
PM> Install-Package Aspose.Slides.Cpp
C++を使用してPowerPointスライドからテキストを抽出する
以下は、PowerPointスライドからテキストを抽出する手順です。
- まず、Presentationクラスを使用してPowerPointプレゼンテーションをロードします。
- SlideUtil::GetAllTextBoxes(System::SharedPtrスライド)メソッド。
- テキストフレームをループします。
- ループ内で、ITextFrame->getParagraphs()メソッドを使用して段落にアクセスします。
- 段落をループし、IParagraph->getPortions()メソッドを使用して部分にアクセスします。
- IPortion->getText()メソッドを使用して、各部分からテキストを取得します。
以下は、C++を使用してPowerPointスライドからテキストを抽出するためのサンプルコードです。
// サンプルファイルパス
const String sourceFilePath = u"SourceDirectory\\SamplePresentation.pptx";
// プレゼンテーションファイルをロードする
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// 最初のスライドからITextFrameオブジェクトの配列を取得します
System::ArrayPtr<SharedPtr<ITextFrame>> textFramesSlideOne = SlideUtil::GetAllTextBoxes(presentation->get_Slides()->idx_get(0));
// TextFramesの配列をループします
for (int i = 0; i < textFramesSlideOne->get_Length(); i++)
{
// 現在のITextFrameの段落をループする
for (SharedPtr<IParagraph> paragraph : textFramesSlideOne[i]->get_Paragraphs())
{
// 現在のIParagraphの部分をループします
for (SharedPtr<IPortion> portion : paragraph->get_Portions())
{
// テキストを表示する
Console::WriteLine(portion->get_Text());
}
}
}
C++を使用してPowerPointプレゼンテーションからテキストを抽出する
以下は、PowerPointプレゼンテーションからテキストを抽出する手順です。
- まず、Presentationクラスを使用してPowerPointプレゼンテーションをロードします。
- SlideUtil::GetAllTextFrames(System::SharedPtr pres, bool withMasters)メソッド。
- テキストフレームをループします。
- ループ内で、ITextFrame->getParagraphs()メソッドを使用して段落にアクセスします。
- 段落をループし、IParagraph->getPortions()メソッドを使用して部分にアクセスします。
- IPortion->getText()メソッドを使用して、各部分からテキストを取得します。
以下は、C++を使用してPowerPointプレゼンテーションからテキストを抽出するためのサンプルコードです。
// サンプルファイルパス
const String sourceFilePath = u"SourceDirectory\\SamplePresentation.pptx";
// プレゼンテーションファイルをロードする
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// プレゼンテーションのすべてのスライドからITextFrameオブジェクトの配列を取得します
System::ArrayPtr<SharedPtr<ITextFrame>> textFramesPresentation = SlideUtil::GetAllTextFrames(presentation, true);
// TextFramesの配列をループします
for (int i = 0; i < textFramesPresentation->get_Length(); i++)
{
// 現在のITextFrameの段落をループする
for (SharedPtr<IParagraph> paragraph : textFramesPresentation[i]->get_Paragraphs())
{
// 現在のIParagraphの部分をループします
for (SharedPtr<IPortion> portion : paragraph->get_Portions())
{
// テキストを表示する
Console::WriteLine(portion->get_Text());
}
}
}
無料ライセンスを取得する
無料の一時ライセンスをリクエストして、評価の制限なしにAPIを試すことができます。
結論
この記事では、C++を使用してPowerPointファイルからテキストを抽出する方法を学習しました。具体的には、特定のPowerPointスライドまたはPowerPointプレゼンテーション全体からテキストを抽出する方法を学習しました。 Aspose.Slides for C++は、プレゼンテーションを操作するための一連の追加機能を提供します。 公式ドキュメントにアクセスすると、APIの詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。