Вы можете столкнуться с ситуациями, когда вам нужно сохранить текст файлов PowerPoint в базу данных или какой-либо файл. Выполнение этой задачи вручную будет трудоемким и менее эффективным. Лучшим способом было бы сделать извлечение программно. С этой целью эта статья научит вас извлекать текст из файлов PowerPoint с помощью C++.
- C++ API для извлечения текста из файлов PowerPoint
- Извлечение текста из слайда PowerPoint с помощью C++
- Извлечение текста из презентации PowerPoint с помощью C++
- Получить бесплатную лицензию
C++ API для извлечения текста из файлов PowerPoint
Aspose.Slides for C++ — это собственная библиотека C++, которая помогает автоматизировать задачи, связанные с PowerPoint. API поддерживает создание, чтение и изменение презентаций PowerPoint. Кроме того, API также предоставляет вам возможность извлекать текст из файлов PowerPoint. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.
PM> Install-Package Aspose.Slides.Cpp
Извлечение текста из слайда PowerPoint с помощью C++
Ниже приведены шаги для извлечения текста из слайда PowerPoint.
- Во-первых, загрузите презентацию PowerPoint, используя класс Presentation.
- Получите текстовые фреймы со слайда, используя SlideUtil::GetAllTextBoxes (System::SharedPtr слайд) метод.
- Прокрутите текстовые фреймы.
- В цикле получите доступ к абзацам с помощью метода ITextFrame->getParagraphs().
- Прокрутите абзацы и получите доступ к частям, используя метод IParagraph->getPortions().
- Получите текст из каждой части, используя метод IPortion->getText().
Ниже приведен пример кода для извлечения текста из слайда PowerPoint с помощью C++.
// Пример пути к файлу
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())
{
// Перебирать части в текущем IPagraph
for (SharedPtr<IPortion> portion : paragraph->get_Portions())
{
// Показать текст
Console::WriteLine(portion->get_Text());
}
}
}
Извлечение текста из презентации PowerPoint с помощью C++
Ниже приведены шаги для извлечения текста из презентации PowerPoint.
- Во-первых, загрузите презентацию PowerPoint, используя класс Presentation.
- Получите текстовые фреймы из всей презентации, используя SlideUtil::GetAllTextFrames (System::SharedPtr метод pres, bool withMasters).
- Прокрутите текстовые фреймы.
- В цикле получите доступ к абзацам с помощью метода ITextFrame->getParagraphs().
- Прокрутите абзацы и получите доступ к частям, используя метод IParagraph->getPortions().
- Получите текст из каждой части, используя метод IPortion->getText().
Ниже приведен пример кода для извлечения текста из презентации PowerPoint с помощью C++.
// Пример пути к файлу
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())
{
// Перебирать части в текущем IPagraph
for (SharedPtr<IPortion> portion : paragraph->get_Portions())
{
// Показать текст
Console::WriteLine(portion->get_Text());
}
}
}
Получить бесплатную лицензию
Вы можете запросить бесплатную временную лицензию, чтобы попробовать API без ограничений на пробную версию.
Вывод
В этой статье вы узнали, как извлекать текст из файлов PowerPoint с помощью C++. В частности, вы узнали, как извлекать текст из определенного слайда PowerPoint или всей презентации PowerPoint. Aspose.Slides for C++ предоставляет множество дополнительных возможностей для работы с презентациями. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на бесплатном форуме поддержки.