テキスト分析を実行するために、PowerPointスライドからテキストを抽出する必要がある場合があります。一方、さらに処理するために、テキストを抽出してファイルまたはデータベースに保存することもできます。これに従って、この記事では、C#を使用してPowerPointプレゼンテーションからテキストを抽出する方法について説明します。特に、特定のスライドまたはプレゼンテーション全体からテキストを抽出する方法を学習します。
- PowerPoint PPTXからテキストを抽出するAPI
- PowerPointスライドからテキストを抽出する
- PowerPointプレゼンテーションからテキストを抽出する
- 無料のAPIライセンスを取得する
PowerPoint PPTXからテキストを抽出するC#API
PowerPointプレゼンテーションを操作するために、AsposeはAspose.Slides for .NETを提供しています。上記のAPIは、.NETアプリケーションにPowerPoint自動化機能を実装するように設計されています。また、PPTXプレゼンテーションからテキストを抽出する簡単な方法もいくつか提供します。 APIをダウンロードするか、NuGetを使用してインストールできます。
PM> Install-Package Aspose.Slides.NET
C#でPowerPointスライドからテキストを抽出する
以下は、PowerPointプレゼンテーションのスライドからテキストを抽出する手順です。
- Presentationクラスを使用してプレゼンテーションをロードします。
- SlideUtil.GetAllTextBoxes()メソッドを使用して、スライドからITextFrame配列にすべてのテキストフレームを取得します。
- 各ITextFrameをループし、ITextFrame.Paragraphsプロパティを使用してそのテキストにアクセスします。
- 段落の各Portionからテキストを取得して印刷します。
次のコードサンプルは、C#を使用してPowerPointスライドからテキストを抽出する方法を示しています。
//PPTXファイルを表すPresentationExクラスを初期化する
Presentation pptxPresentation = new Presentation("demo.pptx");
//最初のスライドからTextFrameExオブジェクトの配列を取得します
ITextFrame[] textFramesSlideOne = SlideUtil.GetAllTextBoxes(pptxPresentation.Slides[0]);
//TextFramesの配列をループします
for (int i = 0; i < textFramesSlideOne.Length; i++)
{
//現在のTextFrameの段落をループする
foreach (Paragraph para in textFramesSlideOne[i].Paragraphs)
{
//現在の段落の一部をループする
foreach (Portion port in para.Portions)
{
//現在の部分にテキストを表示する
Console.WriteLine(port.Text);
//テキストのフォントの高さを表示する
Console.WriteLine(port.PortionFormat.FontHeight);
//テキストのフォント名を表示する
Console.WriteLine(port.PortionFormat.LatinFont.FontName);
}
}
}
C#でPowerPointプレゼンテーションからテキストを抽出する
Aspose.Slides for .NETを使用して、PowerPointプレゼンテーション全体からテキストを抽出することもできます。この操作を実行する手順は次のとおりです。
- Presentationクラスを使用してプレゼンテーションをロードします。
- SlideUtil.GetAllTextFrames()メソッドを使用して、プレゼンテーション内のすべてのテキストフレームを取得します。
- 各ITextFrameをループして、そのParagraphsにアクセスします。
- 段落の部分にアクセスして、テキストを印刷します。
次のコードサンプルは、PowerPointプレゼンテーションからテキストを抽出する方法を示しています。
//PPTXファイルを表すInstatiatePresentationクラス
Presentation pptxPresentation = new Presentation("demo.pptx");
//PPTXのすべてのスライドからITextFrameオブジェクトの配列を取得します
ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true);
//TextFramesの配列をループします
for (int i = 0; i < textFramesPPTX.Length; i++)
{
//現在のITextFrameの段落をループする
foreach (IParagraph para in textFramesPPTX[i].Paragraphs)
{
//現在のIParagraphの部分をループします
foreach (IPortion port in para.Portions)
{
//現在の部分にテキストを表示する
Console.WriteLine(port.Text);
//テキストのフォントの高さを表示する
Console.WriteLine(port.PortionFormat.FontHeight);
//テキストのフォント名を表示する
if (port.PortionFormat.LatinFont != null)
Console.WriteLine(port.PortionFormat.LatinFont.FontName);
}
}
}
無料のAPIライセンスを取得する
評価の制限なしでAPIを試してみたい場合は、無料の一時ライセンスを取得できます。
結論
この記事では、PowerPointプレゼンテーションからテキストを抽出する方法を学びました。特に、C#を使用して特定のスライドまたはプレゼンテーション全体からテキストを抽出する方法を見てきました。 ドキュメントを使用して、Aspose.Slides for .NETの詳細を調べることができます。ご不明な点やご不明な点がございましたら、フォーラムからお知らせください。