Travailler avec des annotations dans des fichiers PDF à l'aide de C++

Les annotations sont des objets supplémentaires qui peuvent être ajoutés aux documents PDF. Les annotations peuvent être utiles dans des scénarios tels que l’ajout d’informations contextuelles au document. Comme les fichiers PDF ne sont pas facilement modifiables, les annotations offrent une option pour ajouter des informations supplémentaires au document. Dans cet article, vous apprendrez à utiliser des annotations dans des fichiers PDF à l’aide de C++.

API C++ pour travailler avec des annotations dans des fichiers PDF

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’utilisation d’annotations dans les fichiers 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

Lire les annotations dans les fichiers PDF

Voici les étapes pour lire les annotations dans les fichiers PDF.

Voici un exemple de code pour lire les annotations dans les fichiers PDF à l’aide de C++.

// Créer une instance de la classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();

// Charger l'exemple de fichier PDF
annotationEditor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// Créer un tableau de types d'annotations
System::ArrayPtr<Aspose::Pdf::Annotations::AnnotationType> annotationTypes = System::MakeArray<Aspose::Pdf::Annotations::AnnotationType>({ Aspose::Pdf::Annotations::AnnotationType::Text, Aspose::Pdf::Annotations::AnnotationType::Highlight });

// Extraire les annotations
System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Pdf::Annotations::Annotation>>> annotationList = annotationEditor->ExtractAnnotations(1, 2, annotationTypes);

// Parcourir les annotations
for (System::SharedPtr<Aspose::Pdf::Annotations::Annotation> annotation : annotationList)
{
	// Afficher le contenu des annotations
	Console::WriteLine(annotation->get_Contents());
}

Ajouter des annotations aux fichiers PDF

Voici les étapes pour ajouter des annotations aux fichiers PDF.

Voici un exemple de code pour ajouter des annotations aux fichiers PDF à l’aide de C++.

// Créer une instance de la classe PdfContentEditor
auto editor = MakeObject<Facades::PdfContentEditor>();

// Charger l'exemple de fichier PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// Créer une annotation
editor->CreateText(System::Drawing::Rectangle(400, 700, 100, 100), u"Title", u"Welcome to Aspose", true, u"Comment", 1);

// Enregistrer le fichier PDF
editor->Save(u"OutputDirectory\\AnnotationSample.pdf");

Voici l’image du fichier enregistré par l’exemple de code.

Annotation ajoutée au fichier PDF

Image montrant l’annotation

Modifier les annotations dans les fichiers PDF à l’aide de C++

Voici les étapes pour modifier les annotations dans les fichiers PDF.

Voici un exemple de code pour modifier les annotations dans les fichiers PDF à l’aide de C++.

// Créer une instance de l'exemple de fichier PDF
auto document = MakeObject <Aspose::Pdf::Document>(u"SourceDirectory\\AnnotationSample.pdf");

// Créer une instance de la classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();

// Charger l'exemple de document PDF
annotationEditor->BindPdf(document);

// Créer un objet d'annotation
System::SharedPtr<Aspose::Pdf::Annotations::TextAnnotation> annotation = System::MakeObject<Aspose::Pdf::Annotations::TextAnnotation>(document->get_Pages()->idx_get(1), MakeObject<Aspose::Pdf::Rectangle>(200, 400, 400, 600));

// Définir la date de modification
annotation->set_Modified(System::DateTime::get_Now());

// Définir le titre
annotation->set_Title(u"NEW AUTHOR");

// Définir le contenu
annotation->set_Contents(u"NEW CONTENTS");

// Définir le sujet
annotation->set_Subject(u"NEW SUBJECT");

// Définir le drapeau ouvert
annotation->set_Open(true);

// Modifier l'annotation
annotationEditor->ModifyAnnotations(1, 1, annotation);

// Enregistrer le document
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Supprimer les annotations des fichiers PDF

Aspose.PDF for C++ fournit les options suivantes pour supprimer les annotations des fichiers PDF.

Supprimer une annotation spécifique

Voici les étapes pour supprimer une annotation spécifique d’un fichier PDF.

Voici un exemple de code pour supprimer une annotation spécifique d’un fichier PDF à l’aide de C++.

// Créer une instance de la classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Charger un document PDF existant
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Supprimer l'annotation par nom
annotationEditor->DeleteAnnotation(u"4df2cf36-d961-4d83-a39e-4b0069f97e0b");
// Enregistrer le document
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Suppression d’annotations par type

Voici les étapes pour supprimer les annotations par type des fichiers PDF.

Voici un exemple de code pour supprimer les annotations par type des fichiers PDF à l’aide de C++.

// Créer une instance de la classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Charger un document PDF existant
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Supprimer les annotations de texte
annotationEditor->DeleteAnnotations(u"Text");
// Enregistrer le document
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Supprimer toutes les annotations

Voici les étapes pour supprimer toutes les annotations des fichiers PDF.

Voici un exemple de code pour supprimer toutes les annotations des fichiers PDF à l’aide de C++.

// Créer une instance de la classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Charger un document PDF existant
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Supprimer toutes les annotations
annotationEditor->DeleteAnnotations();
// Enregistrer le document
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.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 annotations dans des fichiers PDF à l’aide de C++. Plus précisément, vous avez vu comment lire, ajouter, modifier et supprimer des annotations à partir de fichiers PDF. De plus, vous avez appris à supprimer une annotation spécifique, des annotations par type ou toutes les annotations à l’aide d’Aspose.PDF for C++. L’API fournit un tas de fonctionnalités supplémentaires pour travailler avec des fichiers PDF. Vous pouvez explorer l’API en détail en utilisant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également