Un filigrane dans un document identifie l’état du document avec des textes tels que confidentiel, brouillon, etc., et rend difficile la copie du document original. Les filigranes peuvent être des images ou du texte et sont fréquemment utilisés dans les documents PDF. Vous devrez peut-être ajouter des filigranes aux documents PDF dans vos applications C++. Pour cela, cet article vous apprendra comment ajouter et supprimer des filigranes de texte et d’image à partir de documents PDF à l’aide de C++.

API C++ pour l’insertion et la suppression de filigranes texte/image

Aspose.PDF for C++ est une bibliothèque C++ qui vous permet de créer, lire et mettre à jour des documents PDF. De plus, l’API prend en charge l’insertion et la suppression de filigranes image/texte dans les documents PDF. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section downloads.

PM> Install-Package Aspose.PDF.Cpp

Insérer un filigrane de texte dans un fichier PDF à l’aide de C++

Avec Aspose.PDF for C++, vous pouvez contrôler le style de police, le texte, la couleur, l’angle, l’opacité, etc. du filigrane de texte. Voici les étapes pour ajouter un filigrane de texte dans un fichier PDF.

L’exemple de code suivant montre comment ajouter un filigrane de texte dans un fichier PDF à l’aide de C++.

// Ouvrir le document PDF source
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Créer une instance de la classe TextStamp
System::SharedPtr<TextStamp> textStamp = MakeObject<TextStamp>(u"CONFIDENTIAL");

// Définir la position du filigrane
textStamp->set_XIndent(70);
textStamp->set_YIndent(300);

// Définir les propriétés du texte
textStamp->get_TextState()->set_Font(FontRepository::FindFont(u"Arial"));
textStamp->get_TextState()->set_FontSize(72.0F);
textStamp->get_TextState()->set_ForegroundColor(Aspose::Pdf::Color::get_Red());
textStamp->set_Opacity(0.4);
textStamp->set_RotateAngle(45);
textStamp->setStampId(123456);

// Ajouter un filigrane à la page PDF
pdfDocument->get_Pages()->idx_get(1)->AddStamp(textStamp);

// Enregistrez le fichier PDF
pdfDocument->Save(u"OutputDirectory\\Text-Watermark-Out.pdf", SaveFormat::Pdf);
Image du fichier PDF de sortie généré par l'exemple de code

Image du fichier PDF de sortie généré par l’exemple de code

Insérer un filigrane d’image dans un fichier PDF à l’aide de C++

Les filigranes d’image sont généralement utilisés pour montrer la propriété du document en utilisant le logo ou toute autre image identifiable. Vous pouvez ajouter un filigrane d’image aux fichiers PDF en suivant les étapes ci-dessous.

L’exemple de code suivant montre comment ajouter un filigrane d’image dans un fichier PDF à l’aide de C++.

// Ouvrir le document PDF source
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Créer une instance de la classe ImageStamp
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");

// Définir la position du filigrane
imageStamp->set_XIndent(150);
imageStamp->set_YIndent(350);

// Définir d'autres propriétés
imageStamp->set_Height(100);
imageStamp->set_Width(300);
imageStamp->set_RotateAngle(45);
imageStamp->set_Opacity(0.4);
imageStamp->setStampId(12345678);

// Ajouter un filigrane à la page PDF
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);

// Enregistrez le fichier PDF
pdfDocument->Save(u"OutputDirectory\\Image-Watermark-Out.pdf", SaveFormat::Pdf);
Image du fichier PDF de sortie généré par l'exemple de code

Image du fichier PDF de sortie généré par l’exemple de code

Supprimer le filigrane de texte ou d’image d’un fichier PDF à l’aide de C++

Il peut y avoir des scénarios où vous devez supprimer les filigranes d’un document PDF. Dans les exemples précédents, nous avons défini des identifiants pour les filigranes de texte et d’image. Nous utiliserons ces identifiants pour supprimer les filigranes des documents PDF. Voici les étapes pour supprimer les filigranes des fichiers PDF.

L’exemple de code suivant montre comment supprimer les filigranes de texte et d’image des fichiers PDF à l’aide de C++.

// Créer une instance de la classe PdfContentEditor
System::SharedPtr<PdfContentEditor> contentEditor = MakeObject<PdfContentEditor>();

// Ouvrez le fichier PDF contenant le filigrane
contentEditor->BindPdf(u"SourceDirectory\\SampleImageWatermark.pdf");

// Supprimer le filigrane par identifiant
contentEditor->DeleteStampById(12345678);

// Enregistrez le fichier PDF
pdfDocument->Save(u"OutputDirectory\\Remove-Watermark-Out.pdf", SaveFormat::Pdf);

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à utiliser des filigranes dans des fichiers PDF à l’aide de C++. Plus précisément, vous avez appris à ajouter et à supprimer des filigranes d’image et de texte à partir de documents PDF à l’aide de l’API Aspose.PDF for C++. L’API fournit de nombreuses fonctionnalités supplémentaires pour automatiser vos tâches liées au PDF. Vous pouvez explorer l’API en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également