Добавить водяной знак на слайды PowerPoint с помощью C++

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

C++ API для добавления водяных знаков в слайды PowerPoint

Мы будем использовать API Aspose.Slides for C++ для добавления водяных знаков на слайды PowerPoint. Это надежный и многофункциональный API, который поддерживает создание, чтение и обновление файлов PowerPoint без необходимости использования дополнительного программного обеспечения. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.

PM> Install-Package Aspose.Slides.Cpp

Добавить текстовый водяной знак на слайды PowerPoint с помощью C++

Вы можете добавить текстовый водяной знак на слайды PowerPoint, выполнив следующие действия.

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

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\Slides\\Presentation2.pptx";
const String outputFilePath = u"OutputDirectory\\AddTextWatermark_out.pptx";

// Загрузите файл презентации
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Доступ к мастер-слайду
auto master = presentation->get_Masters()->idx_get(0);

System::Drawing::PointF center(presentation->get_SlideSize()->get_Size().get_Width() / 2, presentation->get_SlideSize()->get_Size().get_Height() / 2);

float width = 300.0f;
float height = 300.0f;

float x = center.get_X() - width / 2;
float y = center.get_Y() - height / 2;

// Добавить фигуру
auto watermarkShape = master->get_Shapes()->AddAutoShape(ShapeType::Rectangle, x, y, width, height);

// Установить тип заполнения
watermarkShape->get_FillFormat()->set_FillType(FillType::NoFill);
watermarkShape->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill);

// Установить угол поворота
watermarkShape->set_Rotation(-45);

// Установить текст
auto watermarkTextFrame = watermarkShape->AddTextFrame(u"Watermark");

// Установить шрифт и цвет
auto watermarkPortion = watermarkTextFrame->get_Paragraphs()->idx_get(0)->get_Portions()->idx_get(0);
watermarkPortion->get_PortionFormat()->set_FontHeight(52.0f);

int32_t alpha = 150, red = 200, green = 200, blue = 200;
watermarkPortion->get_PortionFormat()->get_FillFormat()->set_FillType(FillType::Solid);
watermarkPortion->get_PortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::FromArgb(alpha, red, green, blue));

// Заблокировать фигуры от изменения
watermarkShape->get_AutoShapeLock()->set_SelectLocked(true);
watermarkShape->get_AutoShapeLock()->set_SizeLocked(true);
watermarkShape->get_AutoShapeLock()->set_TextLocked(true);
watermarkShape->get_AutoShapeLock()->set_PositionLocked(true);
watermarkShape->get_AutoShapeLock()->set_GroupingLocked(true);

// Сохранить презентацию
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Изображение вывода, сгенерированного примером кода

Изображение вывода, сгенерированного примером кода

Добавить водяной знак изображения на слайды PowerPoint с помощью C++

Чтобы добавить водяной знак изображения на слайды PowerPoint, выполните следующие действия.

В следующем примере кода показано, как добавить водяной знак изображения на слайды PowerPoint с помощью C++.

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\Slides\\Presentation2.pptx";
const String outputFilePath = u"OutputDirectory\\AddImageWatermark_out.pptx";

// Загрузите файл презентации
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Доступ к мазерному слайду
auto master = presentation->get_Masters()->idx_get(0);

System::Drawing::PointF center(presentation->get_SlideSize()->get_Size().get_Width() / 2, presentation->get_SlideSize()->get_Size().get_Height() / 2);

float width = 300.0f;
float height = 300.0f;

float x = center.get_X() - width / 2;
float y = center.get_Y() - height / 2;

// Добавить фигуру
auto watermarkShape = master->get_Shapes()->AddAutoShape(ShapeType::Rectangle, x, y, width, height);

auto image = presentation->get_Images()->AddImage(File::ReadAllBytes(u"SourceDirectory\\Images\\AsposeLogo.png"));

// Установить тип заполнения
watermarkShape->get_FillFormat()->set_FillType(FillType::Picture);
watermarkShape->get_FillFormat()->get_PictureFillFormat()->get_Picture()->set_Image(image);
watermarkShape->get_FillFormat()->get_PictureFillFormat()->set_PictureFillMode(PictureFillMode::Stretch);

// Заблокировать фигуры от изменения
watermarkShape->get_AutoShapeLock()->set_SelectLocked(true);
watermarkShape->get_AutoShapeLock()->set_SizeLocked(true);
watermarkShape->get_AutoShapeLock()->set_TextLocked(true);
watermarkShape->get_AutoShapeLock()->set_PositionLocked(true);
watermarkShape->get_AutoShapeLock()->set_GroupingLocked(true);

// Сохранить презентацию
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Изображение вывода, сгенерированного примером кода

Изображение вывода, сгенерированного примером кода

Получить бесплатную лицензию

Чтобы попробовать API без ограничений на пробную версию, вы можете запросить бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как добавить водяной знак на слайды PowerPoint с помощью C++. В общих примерах кода показано, как легко добавлять графические и текстовые водяные знаки на слайды PowerPoint с помощью Aspose.Slides to C++ API. Это мощный API, предоставляющий множество дополнительных функций для работы с файлами PowerPoint PPTX/PPT. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут какие-либо вопросы, обращайтесь к нам на наш бесплатный форум поддержки.

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

Информация: вы можете воспользоваться бесплатными онлайн-инструментами Aspose.Slides Добавить водяной знак в PowerPoint и Удалить водяной знак из PowerPoint.