Извлечение текста для файлов PowerPoint с помощью C++

Вы можете столкнуться с ситуациями, когда вам нужно сохранить текст файлов PowerPoint в базу данных или какой-либо файл. Выполнение этой задачи вручную будет трудоемким и менее эффективным. Лучшим способом было бы сделать извлечение программно. С этой целью эта статья научит вас извлекать текст из файлов 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 с помощью 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, посетив официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на бесплатном форуме поддержки.

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