Lavorare con le annotazioni nei file PDF utilizzando C++

Le annotazioni sono oggetti aggiuntivi che possono essere aggiunti ai documenti PDF. Le annotazioni possono essere utili in scenari come l’aggiunta di informazioni contestuali al documento. Poiché i file PDF non sono facilmente modificabili, le annotazioni offrono un’opzione per aggiungere ulteriori informazioni al documento. In questo articolo imparerai come lavorare con le annotazioni nei file PDF usando C++.

API C++ per lavorare con le annotazioni nei file PDF

Aspose.PDF for C++ è una libreria C++ che consente di creare, leggere e aggiornare documenti PDF. Inoltre, l’API supporta il lavoro con le annotazioni nei file PDF. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione download.

PM> Install-Package Aspose.PDF.Cpp

Leggi le annotazioni nei file PDF

Di seguito sono riportati i passaggi per leggere le annotazioni nei file PDF.

Di seguito è riportato il codice di esempio per leggere le annotazioni nei file PDF utilizzando C++.

// Crea un'istanza della classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();

// Carica il file PDF di esempio
annotationEditor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// Crea una matrice di tipi di annotazioni
System::ArrayPtr<Aspose::Pdf::Annotations::AnnotationType> annotationTypes = System::MakeArray<Aspose::Pdf::Annotations::AnnotationType>({ Aspose::Pdf::Annotations::AnnotationType::Text, Aspose::Pdf::Annotations::AnnotationType::Highlight });

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

// Scorri le annotazioni
for (System::SharedPtr<Aspose::Pdf::Annotations::Annotation> annotation : annotationList)
{
	// Visualizza il contenuto dell'annotazione
	Console::WriteLine(annotation->get_Contents());
}

Aggiungi annotazioni ai file PDF

Di seguito sono riportati i passaggi per aggiungere annotazioni ai file PDF.

Di seguito è riportato il codice di esempio per aggiungere annotazioni ai file PDF utilizzando C++.

// Crea un'istanza della classe PdfContentEditor
auto editor = MakeObject<Facades::PdfContentEditor>();

// Carica il file PDF di esempio
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// Crea annotazione
editor->CreateText(System::Drawing::Rectangle(400, 700, 100, 100), u"Title", u"Welcome to Aspose", true, u"Comment", 1);

// Salva file PDF
editor->Save(u"OutputDirectory\\AnnotationSample.pdf");

Quella che segue è l’immagine del file salvato dal codice di esempio.

Annotazione aggiunta al file PDF

Immagine che mostra l’annotazione

Modifica le annotazioni nei file PDF utilizzando C++

Di seguito sono riportati i passaggi per modificare le annotazioni nei file PDF.

Di seguito è riportato il codice di esempio per modificare le annotazioni nei file PDF utilizzando C++.

// Crea un'istanza del file PDF di esempio
auto document = MakeObject <Aspose::Pdf::Document>(u"SourceDirectory\\AnnotationSample.pdf");

// Crea un'istanza della classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();

// Carica il documento PDF di esempio
annotationEditor->BindPdf(document);

// Crea un oggetto annotazione
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));

// Imposta la data di modifica
annotation->set_Modified(System::DateTime::get_Now());

// Imposta titolo
annotation->set_Title(u"NEW AUTHOR");

// Imposta contenuto
annotation->set_Contents(u"NEW CONTENTS");

// Imposta oggetto
annotation->set_Subject(u"NEW SUBJECT");

// Imposta bandiera aperta
annotation->set_Open(true);

// Modifica annotazione
annotationEditor->ModifyAnnotations(1, 1, annotation);

// Salva il documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Rimuovere le annotazioni dai file PDF

Aspose.PDF per C++ fornisce le seguenti opzioni per rimuovere le annotazioni dai file PDF.

Rimuovere un’annotazione specifica

Di seguito sono riportati i passaggi per rimuovere un’annotazione specifica da un file PDF.

Di seguito è riportato il codice di esempio per rimuovere un’annotazione specifica da un file PDF utilizzando C++.

// Creare un'istanza della classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Carica un documento PDF esistente
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Elimina annotazione per nome
annotationEditor->DeleteAnnotation(u"4df2cf36-d961-4d83-a39e-4b0069f97e0b");
// Salva il documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Rimozione delle annotazioni per tipo

Di seguito sono riportati i passaggi per rimuovere le annotazioni per tipo dai file PDF.

Di seguito è riportato il codice di esempio per rimuovere le annotazioni per tipo dai file PDF utilizzando C++.

// Crea un'istanza della classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Carica un documento PDF esistente
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Elimina annotazioni di testo
annotationEditor->DeleteAnnotations(u"Text");
// Salva il documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Rimuovi tutte le annotazioni

Di seguito sono riportati i passaggi per rimuovere tutte le annotazioni dai file PDF.

Di seguito è riportato il codice di esempio per rimuovere tutte le annotazioni dai file PDF utilizzando C++.

// Crea un'istanza della classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Carica un documento PDF esistente
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Elimina tutte le annotazioni
annotationEditor->DeleteAnnotations();
// Salva il documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo hai imparato a lavorare con le annotazioni nei file PDF usando C++. In particolare, hai visto come leggere, aggiungere, modificare ed eliminare annotazioni da file PDF. Inoltre, hai imparato come eliminare un’annotazione specifica, le annotazioni per tipo o tutte le annotazioni utilizzando Aspose.PDF per l’API C++. L’API fornisce una serie di funzionalità aggiuntive per lavorare con i file PDF. Puoi esplorare l’API in dettaglio utilizzando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.

Guarda anche