Миниатюры обычно представляют собой изображения небольшого размера, которые показывают содержимое файлов и облегчают их прокрутку. Microsoft PowerPoint показывает миниатюры слайдов, которые упрощают прокрутку и открытие нужного слайда. Могут быть ситуации, когда вы хотите создать собственное приложение для просмотра PowerPoint и хотите динамически генерировать эскизы слайдов. В таких случаях эта статья научит вас программно создавать эскизы презентаций PowerPoint PPTX или PPT с помощью C++.
- C++ API для создания эскизов для файлов PowerPoint PPTX/PPT
- Создание миниатюр для файлов PowerPoint PPTX/PPT с использованием C++
- Создание эскизов с пользовательскими размерами
C++ API для создания эскизов для файлов PowerPoint PPTX/PPT
Для создания эскизов файлов PowerPoint мы будем использовать простой и удобный в использовании API Aspose.Slides for C++. Это надежный API, предоставляющий множество функций, помогающих создавать, читать и изменять файлы PowerPoint. API также предоставляет возможность создавать эскизы файлов PowerPoint. Для начала вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.
PM> Install-Package Aspose.Slides.Cpp
Создание миниатюр для файлов PowerPoint PPTX/PPT с использованием C++
Ниже приведены шаги для создания эскизов файлов PowerPoint с помощью C++.
- Загрузите файл PowerPoint с помощью класса Presentation.
- Пролистайте слайды презентации.
- Создайте миниатюру каждого слайда с помощью метода ISlide->GetThumbnail(float scaleX, float scaleY).
- Сохраните миниатюру с помощью метода Bitmap->Save(const String & filename, const Imaging::ImageFormatPtr & format).
В следующем примере кода показано, как создавать эскизы файлов PowerPoint с помощью C++.
// Путь к исходному файлу
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
// Загрузите файл презентации
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// Пролистайте слайды
for (SharedPtr<ISlide> slide : presentation->get_Slides())
{
// Создать миниатюру
SharedPtr<System::Drawing::Bitmap> bitmap = slide->GetThumbnail(1, 1);
// Сохраните файл JPEG
bitmap->Save(String::Format(u"OutputDirectory\\GenerateThumbnail_out_{0}.jpg", slide->get_SlideNumber()), System::Drawing::Imaging::ImageFormat::get_Jpeg());
}
Создание эскизов с пользовательскими размерами
При создании миниатюр файлов PowerPoint вы также можете указать размеры миниатюр в соответствии с вашими требованиями. Чтобы указать нестандартные размеры при создании миниатюр, выполните следующие действия.
- Загрузите файл PowerPoint с помощью класса Presentation.
- Установите желаемые размеры миниатюр.
- Пролистайте слайды презентации.
- Создайте миниатюру каждого слайда, используя метод ISlide->GetThumbnail(float scaleX, float scaleY).
- Сохраните миниатюру с помощью метода Bitmap->Save(const String & filename, const Imaging::ImageFormatPtr & format).
В следующем примере кода показано, как создавать эскизы с пользовательскими размерами с помощью C++.
// Путь к исходному файлу
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
// Загрузите файл презентации
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// Пользовательский размер
int desiredX = 1200;
int desiredY = 800;
// Получение масштабированного значения X и Y
float ScaleX = (float)(1.0 / presentation->get_SlideSize()->get_Size().get_Width()) * desiredX;
float ScaleY = (float)(1.0 / presentation->get_SlideSize()->get_Size().get_Height()) * desiredY;
// Пролистайте слайды
for (SharedPtr<ISlide> slide : presentation->get_Slides())
{
// Создать миниатюру
SharedPtr<System::Drawing::Bitmap> bitmap = slide->GetThumbnail(ScaleX, ScaleY);
// Сохраните файл JPEG
bitmap->Save(String::Format(u"OutputDirectory\\GenerateThumbnailWithCustomDimensions_out_{0}.jpg", slide->get_SlideNumber()), System::Drawing::Imaging::ImageFormat::get_Jpeg());
}
Получить бесплатную лицензию
Чтобы попробовать API без ограничений на пробную версию, вы можете запросить бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как создавать миниатюры для файлов PowerPoint PPTX/PPT с помощью C++. Кроме того, вы видели, как создавать миниатюры с нестандартными размерами. Чтобы узнать больше о функциях, предоставляемых Aspose.Slides for C++ API, вы можете посетить официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на бесплатный форум поддержки.