Работайте с водяными знаками в формате PDF с помощью C++

Программно работайте с водяными знаками в PDF-документе, используя Aspose.PDF для библиотеки C++

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

Чтобы добавить водяной знак в PDF-файл, мы будем использовать API Aspose.PDF для C++, который представляет собой многофункциональный, мощный и простой в использовании API для работы с документами для платформы C++. Откройте диспетчер пакетов NuGet, найдите Aspose.pdf.cpp и установите. Вы также можете использовать следующую команду из консоли Package Manager.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

Добавьте водяной знак, используя C++


Вам понадобится Aspose.PDF для C++, чтобы попробовать код в своей среде.

  1. Загрузите PDF-файл с экземпляром документа.
  2. Создайте экземпляр WatermarkArtifact.
  3. Задайте свойства объекта WatermarkArtifact.
  4. Добавьте водяной знак с помощью метода Add класса коллекции Aspose.Pdf.Page.Artifects.
  5. Сохранить PDF-файл

Добавьте водяной знак в PDF - C++

В этом примере кода показано, как добавить водяной знак на страницы PDF - C++

Input file:

File not added

Output format:

Output file:

void GettingWatermarks() {

    String _dataDir("C:\\Samples\\");
    String inputFileName("watermark.pdf");
    String outputFileName("watermark_out.pdf");

    auto document = MakeObject<Document>(_dataDir + inputFileName);

    auto artifact = MakeObject<WatermarkArtifact>();
    auto textState = MakeObject<TextState>();
    textState->set_FontSize(72);
    textState->set_ForegroundColor(Color::get_Blue());
    textState->set_Font(FontRepository::FindFont(u"Courier"));
    artifact->SetTextAndState(u"WATERMARK", textState);
    artifact->set_ArtifactHorizontalAlignment (HorizontalAlignment::Center);
    artifact->set_ArtifactVerticalAlignment (VerticalAlignment::Center);
    artifact->set_Rotation(45);
    artifact->set_Opacity(0.5);
    artifact->set_IsBackground(true);

    document->get_Pages()->idx_get(1)->get_Artifacts()->Add(artifact);

    document->Save(_dataDir + outputFileName);
}