从 PowerPoint Java 中提取文本

您可能经常需要从 PowerPoint 幻灯片中提取文本以执行文本分析。另一方面,您可能希望提取文本并将其保存在文件或数据库中以供进一步处理。据此,本文介绍了如何使用 Java 从 PowerPoint 演示文稿中提取文本。特别是,您将学习如何从特定幻灯片或整个演示文稿中提取文本。

Java API 从 PowerPoint PPTX 中提取文本

为了操作 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 演示文稿中的幻灯片中提取文本的步骤。

以下代码示例演示如何从 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 演示文稿中提取文本。以下是执行此操作的步骤。

下面的代码示例演示如何从 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 演示文稿中提取文本。代码示例展示了如何从特定幻灯片或整个演示文稿中提取文本。您可以使用 documentation 探索更多关于 Aspose.Slides for Java 的信息。如果您有任何疑问,请通过我们的 论坛 通知我们。

也可以看看