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
- Leggi le annotazioni nei file PDF
- Aggiungi annotazioni ai file PDF
- Modifica le annotazioni nei file PDF utilizzando C++
- Rimuovere le annotazioni dai file PDF
- Ottieni una licenza gratuita
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.
- Innanzitutto, crea un’istanza della classe PdfAnnotationEditor.
- Carica il file PDF utilizzando PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Recupera le annotazioni usando PdfAnnotationEditor->ExtractAnnotations (int32t start, int32t end, System::ArrayPtrAspose::Pdf::Annotations::AnnotationType annotTypes).
- Scorri le annotazioni e stampane il contenuto.
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.
- Innanzitutto, crea un’istanza della classe PdfContentEditor.
- Carica il file PDF utilizzando PdfContentEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Crea l’annotazione utilizzando il metodo PdfContentEditor->CreateText (System::Drawing::Rectangle rect, System::String title, System::String content, bool open, System::String icon, int32t page).
- Infine, salva il PDF usando il metodo PdfContentEditor->Save (System::String destFile).
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.
Modifica le annotazioni nei file PDF utilizzando C++
Di seguito sono riportati i passaggi per modificare le annotazioni nei file PDF.
- Innanzitutto, crea un’istanza della classe PdfAnnotationEditor.
- Carica il file PDF utilizzando PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Crea un’istanza della classe TextAnnotation.
- Imposta il contenuto dell’annotazione.
- Utilizzare il PdfAnnotationEditor->ModifyAnnotations (int32t inizio, int32t fine, System::SharedPtrAspose::Pdf::Annotations::Annotation annotation) metodo per modificare l’annotazione.
- Infine, salva il file PDF aggiornato utilizzando il metodo PdfAnnotationEditor->Save (System::String destFile).
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.
- Innanzitutto, crea un’istanza della classe PdfAnnotationEditor.
- Carica il file PDF utilizzando PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Elimina l’annotazione per nome utilizzando il metodo PdfAnnotationEditor->DeleteAnnotation (System::String annotName).
- Infine, salva il file PDF aggiornato utilizzando il metodo PdfAnnotationEditor->Save (System::String destFile).
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.
- Innanzitutto, crea un’istanza della classe PdfAnnotationEditor.
- Carica il file PDF utilizzando PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Elimina l’annotazione per tipo utilizzando il metodo PdfAnnotationEditor->DeleteAnnotations (System::String annotType).
- Infine, salva il file PDF aggiornato utilizzando il metodo PdfAnnotationEditor->Save (System::String destFile).
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.
- Innanzitutto, crea un’istanza della classe PdfAnnotationEditor.
- Carica il file PDF utilizzando PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Elimina tutte le annotazioni utilizzando il metodo PdfAnnotationEditor->DeleteAnnotations().
- Infine, salva il file PDF aggiornato utilizzando il metodo PdfAnnotationEditor->Save (System::String destFile).
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.