Las anotaciones son objetos adicionales que se pueden agregar a los documentos PDF. Las anotaciones pueden ser útiles en escenarios como agregar información contextual al documento. Como los archivos PDF no se pueden editar fácilmente, las anotaciones brindan una opción para agregar información adicional al documento. En este artículo, aprenderá a trabajar con anotaciones en archivos PDF usando C++.
- API de C++ para trabajar con anotaciones en archivos PDF
- Leer anotaciones en archivos PDF
- Agregar anotaciones a archivos PDF
- Modificar anotaciones en archivos PDF usando C++
- Eliminar anotaciones de archivos PDF
- Obtenga una licencia gratis
API de C++ para trabajar con anotaciones en archivos PDF
Aspose.PDF for C++ es una biblioteca de C++ que le permite crear, leer y actualizar documentos PDF. Además, la API admite trabajar con anotaciones en archivos PDF. Puede instalar la API a través de NuGet o descargarla directamente desde la sección descargas.
PM> Install-Package Aspose.PDF.Cpp
Leer anotaciones en archivos PDF
Los siguientes son los pasos para leer anotaciones en archivos PDF.
- En primer lugar, cree una instancia de la clase PdfAnnotationEditor.
- Cargue el archivo PDF utilizando PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc) método.
- Recupere las anotaciones usando PdfAnnotationEditor->ExtractAnnotations (int32t start, int32t end, System::ArrayPtrAspose::Pdf::Annotations::AnnotationType annotTypes) método.
- Recorra las anotaciones e imprima su contenido.
El siguiente es el código de muestra para leer anotaciones en archivos PDF usando C++.
// Crear una instancia de la clase PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Cargue el archivo PDF de muestra
annotationEditor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Crear una matriz de tipos de anotaciones
System::ArrayPtr<Aspose::Pdf::Annotations::AnnotationType> annotationTypes = System::MakeArray<Aspose::Pdf::Annotations::AnnotationType>({ Aspose::Pdf::Annotations::AnnotationType::Text, Aspose::Pdf::Annotations::AnnotationType::Highlight });
// Extraer anotaciones
System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Pdf::Annotations::Annotation>>> annotationList = annotationEditor->ExtractAnnotations(1, 2, annotationTypes);
// Recorrer las anotaciones
for (System::SharedPtr<Aspose::Pdf::Annotations::Annotation> annotation : annotationList)
{
// Mostrar contenido de anotaciones
Console::WriteLine(annotation->get_Contents());
}
Agregar anotaciones a archivos PDF
Los siguientes son los pasos para agregar anotaciones a archivos PDF.
- En primer lugar, cree una instancia de la clase PdfContentEditor.
- Cargue el archivo PDF utilizando PdfContentEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc) método.
- Cree la anotación usando el método PdfContentEditor->CreateText (System::Drawing::Rectangle rect, System::String title, System::String content, bool open, System::String icon, int32t page).
- Finalmente, guarde el PDF usando el método PdfContentEditor->Save (System::String destFile).
El siguiente es el código de muestra para agregar anotaciones a archivos PDF usando C++.
// Crear una instancia de la clase PdfContentEditor
auto editor = MakeObject<Facades::PdfContentEditor>();
// Cargue el archivo PDF de muestra
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Crear anotación
editor->CreateText(System::Drawing::Rectangle(400, 700, 100, 100), u"Title", u"Welcome to Aspose", true, u"Comment", 1);
// Guardar archivo PDF
editor->Save(u"OutputDirectory\\AnnotationSample.pdf");
La siguiente es la imagen del archivo guardado por el código de muestra.
Modificar anotaciones en archivos PDF usando C++
Los siguientes son los pasos para modificar anotaciones en archivos PDF.
- En primer lugar, cree una instancia de la clase PdfAnnotationEditor.
- Cargue el archivo PDF utilizando PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc) método.
- Crea una instancia de la clase TextAnnotation.
- Establezca el contenido de la anotación.
- Utilice el Editor de anotaciones de Pdf->Modificar anotaciones (inicio int32t, final int32t, System:: SharedPtrAspose::Pdf::Annotations::Annotation anotación) método para modificar la anotación.
- Finalmente, guarde el archivo PDF actualizado usando el método PdfAnnotationEditor->Save (System::String destFile).
El siguiente es el código de muestra para modificar anotaciones en archivos PDF usando C++.
// Cree una instancia del archivo PDF de muestra
auto document = MakeObject <Aspose::Pdf::Document>(u"SourceDirectory\\AnnotationSample.pdf");
// Crear una instancia de la clase PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Cargue el documento PDF de muestra
annotationEditor->BindPdf(document);
// Crear un objeto de anotación
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));
// Establecer fecha de modificación
annotation->set_Modified(System::DateTime::get_Now());
// Establecer título
annotation->set_Title(u"NEW AUTHOR");
// Establecer contenido
annotation->set_Contents(u"NEW CONTENTS");
// Establecer asunto
annotation->set_Subject(u"NEW SUBJECT");
// Establecer bandera abierta
annotation->set_Open(true);
// Modificar anotación
annotationEditor->ModifyAnnotations(1, 1, annotation);
// Guardar el documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
Eliminar anotaciones de archivos PDF
Aspose.PDF for C++ ofrece las siguientes opciones para eliminar las anotaciones de los archivos PDF.
Eliminar una anotación específica
Los siguientes son los pasos para eliminar una anotación específica de un archivo PDF.
- En primer lugar, cree una instancia de la clase PdfAnnotationEditor.
- Cargue el archivo PDF utilizando PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc) método.
- Elimine la anotación por nombre utilizando el método PdfAnnotationEditor->DeleteAnnotation (System::String annotName).
- Finalmente, guarde el archivo PDF actualizado usando el método PdfAnnotationEditor->Save (System::String destFile).
El siguiente es el código de muestra para eliminar una anotación específica de un archivo PDF usando C++.
// Crear una instancia de la clase PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Cargar un documento PDF existente
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Eliminar anotación por nombre
annotationEditor->DeleteAnnotation(u"4df2cf36-d961-4d83-a39e-4b0069f97e0b");
// Guardar el documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
Eliminación de anotaciones por tipo
Los siguientes son los pasos para eliminar anotaciones por tipo de archivos PDF.
- En primer lugar, cree una instancia de la clase PdfAnnotationEditor.
- Cargue el archivo PDF utilizando PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc) método.
- Elimine la anotación por tipo utilizando el método PdfAnnotationEditor->DeleteAnnotations (System::String annotType).
- Finalmente, guarde el archivo PDF actualizado usando el método PdfAnnotationEditor->Save (System::String destFile).
El siguiente es el código de muestra para eliminar anotaciones por tipo de archivos PDF usando C++.
// Crear una instancia de la clase PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Cargar un documento PDF existente
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Eliminar anotaciones de texto
annotationEditor->DeleteAnnotations(u"Text");
// Guardar el documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
Eliminar todas las anotaciones
Los siguientes son los pasos para eliminar todas las anotaciones de los archivos PDF.
- En primer lugar, cree una instancia de la clase PdfAnnotationEditor.
- Cargue el archivo PDF utilizando PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc) método.
- Elimine todas las anotaciones usando el método PdfAnnotationEditor->DeleteAnnotations().
- Finalmente, guarde el archivo PDF actualizado usando el método PdfAnnotationEditor->Save (System::String destFile).
El siguiente es el código de muestra para eliminar todas las anotaciones de los archivos PDF usando C++.
// Crear una instancia de la clase PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Cargar un documento PDF existente
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Eliminar todas las anotaciones
annotationEditor->DeleteAnnotations();
// Guardar el documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
Obtenga una licencia gratis
Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.
Conclusión
En este artículo, ha aprendido a trabajar con anotaciones en archivos PDF utilizando C++. Específicamente, ha visto cómo leer, agregar, editar y eliminar anotaciones de archivos PDF. Además, ha aprendido a eliminar una anotación específica, anotaciones por tipo o todas las anotaciones mediante Aspose.PDF for C++. La API proporciona un montón de funciones adicionales para trabajar con archivos PDF. Puede explorar la API en detalle utilizando la documentación oficial. Si tiene alguna pregunta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.