Извлечь текст из PowerPoint Java

Вам часто может понадобиться извлечь текст из слайдов PowerPoint, чтобы выполнить анализ текста. С другой стороны, вы можете извлечь и сохранить текст в файле или базе данных для дальнейшей обработки. В соответствии с этим в этой статье рассказывается, как извлечь текст из презентаций PowerPoint с помощью Java. В частности, вы узнаете, как извлекать текст из определенного слайда или всей презентации.

Java API для извлечения текста из PowerPoint PPTX

Для работы с презентациями PowerPoint Aspose предлагает Aspose.Slides for Java. Указанный API предназначен для реализации функций автоматизации PowerPoint в приложениях Java. Он также предоставляет несколько простых способов извлечения текста из презентаций 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>

Извлечение текста из слайда PowerPoint в Java

Ниже приведены шаги для извлечения текста из слайда в презентации PowerPoint с использованием Java.

  • Загрузите презентацию с помощью класса Presentation.
  • Получить все текстовые фреймы со слайда в массив ITextFrame с помощью метода SlideUtil.getAllTextBoxes().
  • Переберите каждый ITextFrame и получите доступ к его тексту, используя метод ITextFrame.getParagraphs().
  • Получить и распечатать текст из каждой IPortion абзаца.

В следующем примере кода показано, как извлечь текст из слайда PowerPoint.

//Создайте класс PresentationEx, представляющий файл PPTX.
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.

//Создайте класс PresentationEx, представляющий файл PPTX.
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.

Вывод

В этой статье вы узнали, как извлекать текст из презентаций PowerPoint с помощью Java. Примеры кода показали, как извлечь текст из определенного слайда или всей презентации. Вы можете узнать больше об Aspose.Slides для Java, используя документацию. Если у вас возникнут какие-либо вопросы, сообщите нам об этом через наш форум.

Смотрите также