Ajouter un filigrane via C++

Comment ajouter un filigrane à un PDF à l’aide de C++

Ajouter un filigrane avec la bibliothèque C++

Afin d’ajouter un filigrane au fichier PDF, nous utiliserons l’API Aspose.PDF pour C++, qui est une API de manipulation de documents riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme C++. Ouvrez le gestionnaire de packages NuGet, recherchez Aspose.pdf.cpp et installez. Vous pouvez également utiliser la commande suivante depuis la console du gestionnaire de packages.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

Ajouter un filigrane en utilisant C++


Vous avez besoin de Aspose.PDF pour C++ pour essayer le code dans votre environnement.

  1. Chargez le PDF avec une instance de Document.
  2. Créez une instance de WatermarkArtifact.
  3. Définit les propriétés de l’objet WatermarkArtifact.
  4. Ajoutez un filigrane en utilisant la méthode Add de la classe de collection Aspose.Pdf.Page.Artifacts.
  5. Enregistrer le fichier PDF

Ajoutez un filigrane dans le PDF - C++

<% watermark.code-block.subtitle %>

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);
}