PowerPointJavaからテキストを抽出する

テキスト分析を実行するために、PowerPointスライドからテキストを抽出する必要がある場合があります。一方、さらに処理するために、テキストを抽出してファイルまたはデータベースに保存することもできます。これに従って、この記事では、Javaを使用してPowerPointプレゼンテーションからテキストを抽出する方法について説明します。特に、特定のスライドまたはプレゼンテーション全体からテキストを抽出する方法を学習します。

PowerPoint PPTXからテキストを抽出するJavaAPI

PowerPointプレゼンテーションを操作するために、AsposeはAspose.Slides for Javaを提供しています。上記のAPIは、JavaアプリケーションにPowerPoint自動化機能を実装するように設計されています。また、PPT/PPTXプレゼンテーションからテキストを抽出する簡単な方法もいくつか提供します。 APIをダウンロードするか、次のMaven構成を使用してインストールできます。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.7</version>
    <classifier>jdk16</classifier>
</dependency>

JavaでPowerPointスライドからテキストを抽出する

以下は、Javaを使用してPowerPointプレゼンテーションのスライドからテキストを抽出する手順です。

  • Presentationクラスを使用してプレゼンテーションをロードします。
  • SlideUtil.getAllTextBoxes()メソッドを使用して、スライドからITextFrame配列にすべてのテキストフレームを取得します。
  • 各ITextFrameをループし、ITextFrame.getParagraphs()メソッドを使用してそのテキストにアクセスします。
  • 段落の各IPortionからテキストを取得して印刷します。

次のコードサンプルは、PowerPointスライドからテキストを抽出する方法を示しています。

//PPTXファイルを表すPresentationExクラスを初期化する
Presentation pptxPresentation = new Presentation("presentation.pptx");

//最初のスライドからITextFrameオブジェクトの配列を取得します
ITextFrame[] textFramesSlideOne = SlideUtil.getAllTextBoxes(pptxPresentation.getSlides().get_Item(1));

//TextFramesの配列をループします
for (int i = 0; i < textFramesSlideOne.length; i++)
{
    //現在のTextFrameの段落をループする
    for (IParagraph para : textFramesSlideOne[i].getParagraphs())
    {
        //現在の段落の一部をループする
        for (IPortion port : para.getPortions())
        {
            //現在の部分にテキストを表示する
            System.out.println(port.getText());

            //テキストのフォントの高さを表示する
            System.out.println(port.getPortionFormat().getFontHeight());

            //テキストのフォント名を表示する
            System.out.println(port.getPortionFormat().getLatinFont().getFontName());
        }
    }
}

PowerPointプレゼンテーション全体からテキストを抽出する

PowerPointプレゼンテーション全体からテキストを抽出することもできます。この操作を実行する手順は次のとおりです。

  • Presentationクラスを使用してプレゼンテーションをロードします。
  • SlideUtil.getAllTextFrames()メソッドを使用して、プレゼンテーション内のすべてのテキストフレームを取得します。
  • ITextFrameをループして、その段落にアクセスします。
  • 段落の部分にアクセスして、テキストを印刷します。

次のコードサンプルは、PowerPointプレゼンテーションからテキストを抽出する方法を示しています。

//PPTXファイルを表すPresentationExクラスを初期化する
Presentation pptxPresentation = new Presentation("presentation.pptx");

//最初のスライドからITextFrameオブジェクトの配列を取得します
ITextFrame[] textFrames = SlideUtil.getAllTextFrames(pptxPresentation, true);

//TextFramesの配列をループします
for (int i = 0; i < textFrames.length; i++)
{
    //現在のTextFrameの段落をループする
    for (IParagraph para : textFrames[i].getParagraphs())
    {
        //現在の段落の一部をループする
        for (IPortion port : para.getPortions())
        {
            //現在の部分にテキストを表示する
            System.out.println(port.getText());
        }
    }
}

無料のAPIライセンスを取得する

評価の制限なしにAPIを使用したい場合は、無料の一時ライセンスを取得できます。

オンラインでお試しください

Aspose.Slidesを使用して開発された無料のオンラインプレゼンテーションパーサーを試すこともできます。

結論

この記事では、Javaを使用してPowerPointプレゼンテーションからテキストを抽出する方法を学習しました。コードサンプルは、特定のスライドまたはプレゼンテーション全体からテキストを抽出する方法を示しています。 ドキュメントを使用して、Aspose.Slides for Javaの詳細を調べることができます。ご不明な点がございましたら、フォーラムからお知らせください。

関連項目