Водяной знак определяет состояние документа с такими текстами, как конфиденциальный, черновик и т. д., и затрудняет копирование исходного документа. Водяные знаки также используются для указания владельца документа путем отображения названия или логотипа компании. Водяные знаки в файлах PowerPoint могут быть как графическими, так и текстовыми. В этой статье вы узнаете, как добавлять текстовые и графические водяные знаки на слайды PowerPoint с помощью C++.
- C++ API для добавления водяных знаков в слайды PowerPoint
- Добавить текстовый водяной знак на слайды PowerPoint с помощью C++
- Добавить водяной знак изображения на слайды PowerPoint
C++ API для добавления водяных знаков в слайды PowerPoint
Мы будем использовать API Aspose.Slides for C++ для добавления водяных знаков на слайды PowerPoint. Это надежный и многофункциональный API, который поддерживает создание, чтение и обновление файлов PowerPoint без необходимости использования дополнительного программного обеспечения. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.
PM> Install-Package Aspose.Slides.Cpp
Добавить текстовый водяной знак на слайды PowerPoint с помощью C++
Вы можете добавить текстовый водяной знак на слайды PowerPoint, выполнив следующие действия.
- Во-первых, загрузите файл PowerPoint с помощью класса Presentation.
- Получите мастер-слайд.
- Рассчитать положение водяного знака.
- Добавьте фигуру с помощью метода IMasterSlide->getShapes()->AddAutoShape(ShapeType shapeType, float x, float y, float width, float height).
- Добавьте текстовый фрейм к фигуре с помощью метода IAutoShape->AddTextFrame(System::String text).
- Установите размер шрифта, цвет и угол поворота водяного знака.
- Заблокируйте водяной знак, чтобы его нельзя было переместить или удалить.
- Наконец, сохраните файл PowerPoint, используя метод Презентация->Сохранить(System::String fname, Export::SaveFormat format).
В следующем примере кода показано, как добавить текстовый водяной знак на слайды 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 с помощью класса Presentation.
- Получите мастер-слайд.
- Рассчитать положение водяного знака.
- Добавьте фигуру с помощью метода IMasterSlide->getShapes()->AddAutoShape(ShapeType shapeType, float x, float y, float width, float height).
- Добавьте изображение и получите ссылку на него в объекте IPPImage.
- Установите изображение водяного знака с помощью IAutoShape->getFillFormat()->getPictureFillFormat()->getPicture()->setImage(System::SharedPtr значение) метод.
- Установите для типа заливки и режима заливки изображения IAutoShape значение FillType::Picture и PictureFillMode::Stretch соответственно.
- Заблокируйте водяной знак, чтобы его нельзя было переместить или удалить.
- Наконец, сохраните файл PowerPoint, используя метод Презентация->Сохранить(System::String fname, Export::SaveFormat format).
В следующем примере кода показано, как добавить водяной знак изображения на слайды 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, посетив официальную документацию. Если у вас возникнут какие-либо вопросы, обращайтесь к нам на наш бесплатный форум поддержки.
Смотрите также
- Применение анимации к тексту в PowerPoint с помощью C++
- Создание SmartArt в презентациях PowerPoint с помощью C++
Информация: вы можете воспользоваться бесплатными онлайн-инструментами Aspose.Slides Добавить водяной знак в PowerPoint и Удалить водяной знак из PowerPoint.