Anotaciones PDF Documentos de Word

Cómo agregar anotaciones a un PDF usando C# .NET

En la era digital actual, los PDF se han convertido en un formato popular para compartir información, documentos e informes. Sin embargo, la simple visualización de un PDF puede no ser suficiente para muchos usuarios. En ocasiones, es posible que los usuarios deseen resaltar o agregar notas a partes específicas del PDF para brindar contexto o comentarios adicionales. Afortunadamente, hay varios anotadores de PDF gratuitos disponibles que permiten a los usuarios agregar comentarios, resaltar texto y más fácilmente. Sin embargo, en este artículo, exploraremos cómo usar la API REST para admitir anotaciones en PDF y le mostraremos cómo resaltar, comentar y agregar notas a sus documentos PDF.

REST API para anotación en PDF

Aspose.PDF Cloud proporciona una solución completa y fácil de usar para agregar anotaciones a documentos PDF mediante programación. Con Aspose.PDF Cloud, puede agregar varios tipos de anotaciones a documentos PDF, incluidos texto, imagen, sello y varias anotaciones de marcado. También puede modificar las anotaciones existentes, como cambiar la posición, el tamaño, el color o cualquier otra propiedad.

Las anotaciones admitidas incluyen texto, círculo, polígono, polilínea, línea, cuadrado, texto libre, resaltado, subrayado, ondulado, tachado, intercalación, tinta, enlace, ventana emergente, archivo adjunto, sonido, película, pantalla, widget, marca de agua, TrapNet, PrinterMark, Redacción, Sello, RichMedia y PDF3D.

Ahora, para agregar el SDK en su proyecto, busque Aspose.PDF-Cloud en el administrador de paquetes NuGet y haga clic en el botón Agregar paquete. El siguiente paso importante es registrar una cuenta en el panel de Cloud y obtener sus credenciales personales de cliente. Consulte la guía Inicio rápido para obtener más detalles.

Agregar comentarios a PDF usando C#

Echemos un vistazo al fragmento de código C# .NET que se usa para agregar anotaciones a un documento PDF.

// Para obtener ejemplos completos y archivos de datos, vaya a 
https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet

// Obtenga las credenciales del cliente de https://dashboard.aspose.cloud/
string clientSecret = "7f098199230fc5f2175d494d48f2077c";
string clientID = "ee170169-ca49-49a4-87b7-0e2ff815ea6e";

// crear un objeto de PdfApi
PdfApi api = new PdfApi(clientSecret, clientID);

// crear objeto de lista contiene FreeTextAnnotations
List<FreeTextAnnotation> annotations = new List<FreeTextAnnotation>
{
new FreeTextAnnotation(
    // especificar la región rectangular que contiene FreeTextAnnotation
    // también definir detalles de formato de texto
    Rect: new Rectangle(100, 800, 350, 830),
    TextStyle:new TextStyle(
        FontSize: 26, Font: "Arial",
        ForegroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0, 0xFF, 0),
        BackgroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0xFF, 0, 0)
        ))
    {
    // Contenido que se mostrará dentro de FreeTextAnnotation
    Contents = "Confidential !",
    Color = new Aspose.Pdf.Cloud.Sdk.Model.Color(0, 0, 0, 0),
    Id = "id1",
    Name = "Test Free Text",                    
    Flags = new List<AnnotationFlags> {AnnotationFlags.Default},
    HorizontalAlignment = HorizontalAlignment.Center,
    Intent = FreeTextIntent.FreeTextTypeWriter,
    RichText = "Rich Text",
    Subject = "Text Box Subj",
    ZIndex = 1,
    Justification = Justification.Center,
    Title = "Title",
    PageIndex = 1                     
    }
};
var response = api. PostPageFreeTextAnnotations("Binder1.pdf", 1, annotations);

Ahora, comprendamos el fragmento de código con más detalles.

PdfApi api = new PdfApi(clientSecret, clientID);

Cree una instancia de la clase PdfApi que tome las credenciales del cliente como argumentos en su constructor.

List<FreeTextAnnotation> annotations = new List<FreeTextAnnotation>

Como la API admite la capacidad de agregar una o más anotaciones de tipo similar al mismo tiempo, necesitamos crear un objeto de lista de tipo FreeTextAnnnotation.

new FreeTextAnnotation(
    Rect: new Rectangle(100, 800, 350, 830),
    TextStyle:new TextStyle(
        FontSize: 26, Font: "Arial",
        ForegroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0, 0xFF, 0),
        BackgroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0xFF, 0, 0)
        ))

Cree un objeto de FreeTextAnnotation donde definimos la región rectangular para la anotación y los detalles de formato de texto.

Contents = "Confidential !"

Aquí definimos el contenido de FreeTextAnnotation.

var response = api. PostPageFreeTextAnnotations("Binder1.pdf", 1, annotations);

Llame a la API REST para agregar FreeTextAnnotation en la primera página del documento PDF que ya está disponible en el almacenamiento en la nube.

A continuación se muestran los valores posibles que se pueden asignar a las propiedades utilizadas en el fragmento de código anterior.

  • AnnotationFlags: los valores admitidos pueden ser [Predeterminado, Invisible, Oculto, Imprimir, NoZoom, NoRotar, NoVer, Solo lectura, Bloqueado, Cambiar sin vista, Contenido bloqueado].
  • Girar - Ángulo de rotación para el texto. Los valores posibles pueden ser [Ninguno, on90, on180, on270].
  • AnnotationFlags: un conjunto de indicadores que especifican varias características de la anotación. El valor posible puede ser [Predeterminado, Invisible, Oculto, Imprimir, NoZoom, NoRotar, NoVer, Solo lectura, Bloqueado, AlternarSin vista, Contenido bloqueado].
  • FreeTextIntent - Enumera las intenciones de la anotación de texto libre. Los valores posibles pueden ser [ Undefined, FreeTextCallout, FreeTextTypeWriter].

Agregue anotaciones de texto libre a PDF usando los comandos cURL

El uso de comandos cURL para llamar a Aspose.PDF Cloud API es un buen enfoque para cumplir con este requisito. También es bueno si está familiarizado con las herramientas de línea de comandos o prefiere usarlas. Entonces, con la herramienta de línea de comandos cURL, puede realizar solicitudes HTTP y realizar varias operaciones relacionadas con el procesamiento de archivos PDF.

Ahora, para agregar anotaciones a un documento PDF usando los comandos cURL, primero debemos generar un token de autenticación enviando una solicitud al extremo del token con su App SID y App Key. Ejecute el siguiente comando para generar el token de acceso.

curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=ee170169-ca49-49a4-87b7-0e2ff815ea6e&client_secret=7f098199230fc5f2175d494d48f2077c" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

Una vez que se genera el token de acceso, ejecute el siguiente comando que agrega FreeTextAnnotation al documento PDF. Luego, el archivo PDF anotado se actualiza en el almacenamiento en la nube.

curl -v "https://api.aspose.cloud/v3.0/pdf/{inputPDF}/pages/1/annotations/freetext" \
-X POST \
-H  "accept: application/json" \
-H  "authorization: Bearer {accessToken}" \
-H  "Content-Type: application/json" \
-d "[  {        \"Color\": {      \"A\": 0,      \"R\": 0,      \"G\": 0,      \"B\": 0    },    \"Contents\": \"Confidential !\",    \"Modified\": \"01/05/2023 12:00:00.000 PM\",    \"Id\": \"id0\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"comment\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 800,      \"URX\": 350,      \"URY\": 830    },    \"PageIndex\": 0,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"03/05/2023 16:00:00.000 PM\",    \"Subject\": \"Subj.\",    \"Title\": \"Main Heading\",    \"RichText\": \"Hello world...\",    \"Justification\": \"Left\",    \"Intent\": \"FreeTextTypeWriter\",    \"Rotate\": \"None\",    \"TextStyle\": {      \"FontSize\": 26,      \"Font\": \"Arial\",      \"ForegroundColor\": {        \"A\": 10,        \"R\": 10,        \"G\": 100,        \"B\": 120      },      \"BackgroundColor\": {        \"A\": 0,        \"R\": 0,        \"G\": 50,        \"B\": 80      }    }  }]"

Reemplace {inputPDF} con el nombre del archivo PDF de entrada ya disponible en el almacenamiento en la nube, {accessToken} con el token de acceso JWT generado anteriormente.

Vista previa de anotaciones en PDF

Imagen: - Vista previa de la anotación de texto libre en un archivo PDF.

El documento PDF utilizado en el ejemplo anterior se puede descargar desde [este enlace] (https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet/blob/master/testData/Binder1.pdf).

Conclusión

En conclusión, agregar anotaciones a los archivos PDF puede mejorar en gran medida su utilidad y funcionalidad. Ya sea que desee resaltar texto importante, agregar comentarios o tomar notas directamente en el documento, Aspose.PDF Cloud es una excelente opción para lograrlo. También hemos aprendido que Aspose.PDF Cloud SDK para .NET y los comandos cURL ofrecen soluciones poderosas para anotar archivos PDF, lo que le brinda la capacidad de crear flujos de trabajo personalizados y procesos de automatización. Por lo tanto, con estas herramientas, puede agregar rápida y fácilmente anotaciones a los archivos PDF, mientras ahorra tiempo y aumenta la productividad.

Enlaces útiles

Artículos relacionados

Recomendamos encarecidamente pasar por los siguientes blogs: