使用 C++ 向 PowerPoint 幻燈片添加水印

水印以機密、草稿等文本標識文檔的狀態,並使原始文檔難以復制。水印還用於通過顯示公司名稱或徽標來指定文檔的所有權。 PowerPoint 文件中的水印可以是基於圖像的,也可以是基於文本的。在本文中,您將學習如何使用 C++ 向 PowerPoint 幻燈片添加文本和圖像水印。

用於向 PowerPoint 幻燈片添加水印的 C++ API

我們將使用 Aspose.Slides for C++ API 為 PowerPoint 幻燈片添加水印。它是一個強大且功能豐富的 API,支持創建、讀取和更新 PowerPoint 文件,而無需額外的軟件。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。

PM> Install-Package Aspose.Slides.Cpp

使用 C++ 將文本水印添加到 PowerPoint 幻燈片

您可以按照以下步驟將文本水印添加到 PowerPoint 幻燈片。

以下示例代碼展示瞭如何使用 C++ 向 PowerPoint 幻燈片添加文本水印。

// 文件路徑
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);
示例代碼生成的輸出圖像

示例代碼生成的輸出圖像

使用 C++ 將圖像水印添加到 PowerPoint 幻燈片

要為 PowerPoint 幻燈片添加圖像水印,請按照以下步驟操作。

下面的示例代碼顯示瞭如何使用 C++ 將圖像水印添加到 PowerPoint 幻燈片。

// 文件路徑
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,您可以申請免費的臨時許可證

結論

在本文中,您學習瞭如何使用 C++ 向 PowerPoint 幻燈片添加水印。共享代碼示例展示瞭如何使用 Aspose.Slides to C++ API 輕鬆地將圖像和文本水印添加到 PowerPoint 幻燈片。它是一個強大的 API,提供了一系列用於處理 PowerPoint PPTX/PPT 文件的附加功能。您可以通過訪問 官方文檔 來詳細探索 API。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。

也可以看看

信息:您可能需要查看 Aspose.Slides 免費的 向 PowerPoint 添加水印從 PowerPoint 刪除水印 在線工具。