Agregar comentarios rápidos directamente en documentos de Word es un requisito común para flujos de trabajo de revisión colaborativa. GroupDocs.Annotation Cloud SDK for Node.JS le permite agregar anotaciones enriquecidas de forma programática sin salir de su entorno de servidor. En esta guía le mostraremos cómo crear Notas adhesivas en páginas de Word en Node.JS, cubriendo la configuración, una guía detallada, un ejemplo de código completo y llamadas cURL equivalentes.
Configuración de GroupDocs.Annotation Cloud SDK for Node.JS
Antes de comenzar, asegúrese de tener:
- Node.js 14+ y npm instalados
- Una cuenta de GroupDocs cloud con clientId y clientSecret
- Acceso al archivo fuente DOCX que deseas anotar
Instale el SDK mediante npm:
npm install groupdocs-annotation-cloud
Descargue el paquete más reciente desde la página oficial de lanzamientos si prefiere una instalación manual: GroupDocs.Annotation Cloud SDK for Node.JS Descargar.
Cree un objeto de configuración con sus credenciales (extracto del ejemplo completo):
const { Configuration } = require("@groupdocs.annotation-cloud");
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
Con el SDK instalado y las credenciales listas, podemos pasar a la implementación.
Crear notas adhesivas en páginas de Word en Node.JS: Guía paso a paso
En este tutorial crearemos notas adhesivas en páginas de Word en Node.JS usando las clases de anotación del SDK.
Paso 1: Inicializar la API de anotaciones
Primero, importe las clases requeridas y cree una instancia de AnnotateApi.
const { AnnotateApi, models } = require("@groupdocs.annotation-cloud");
const annotateApi = new AnnotateApi(config);
Paso 2: Definir archivos de origen y destino
Especifique el DOCX de entrada y la ruta para la salida anotada.
const inputFilePath = "sample.docx";
const outputFilePath = "sample_annotated.docx";
const fileInfo = new models.FileInfo();
fileInfo.filePath = inputFilePath;
Paso 3: Configurar la posición de la nota adhesiva
Cree un Rectangle que determine dónde aparecerá la nota adhesiva en la página 1.
const rect = new models.Rectangle();
rect.x = 100; // distance from left edge (points)
rect.y = 100; // distance from top edge (points)
rect.width = 200; // width of the sticky note
rect.height = 100; // height of the sticky note
Paso 4: Construir el objeto de anotación de nota adhesiva
Configure el tipo de anotación, número de página, rectángulo, texto y color de fondo.
const stickyNote = new models.AnnotationInfo();
stickyNote.annotationType = "StickyNote";
stickyNote.pageNumber = 1;
stickyNote.rect = rect;
stickyNote.text = "This is a sticky note added via GroupDocs.Annotation Cloud SDK.";
stickyNote.color = "FFFF00"; // Yellow background
Paso 5: Ejecutar la solicitud de anotación
Ensambla las opciones de la solicitud y llama al método annotate.
const annotateOptions = new models.AnnotateOptions();
annotateOptions.fileInfo = fileInfo;
annotateOptions.annotations = [stickyNote];
annotateOptions.outputPath = outputFilePath;
(async () => {
try {
const request = new models.AnnotateRequest(annotateOptions);
const response = await annotateApi.annotate(request);
console.log("Sticky note created successfully. Output saved to:", response.path);
} catch (err) {
console.error("Failed to create sticky note:", err);
}
})();
Ejemplo completo de funcionamiento para crear notas adhesivas en páginas de Word en Node.JS
El siguiente ejemplo muestra la implementación completa para crear notas adhesivas en páginas de Word en Node.JS usando GroupDocs.Annotation Cloud SDK.
const { AnnotateApi, Configuration, models } = require("@groupdocs.annotation-cloud");
// -----------------------------------------------------------------------------
// Configuration – replace with your actual GroupDocs credentials
// -----------------------------------------------------------------------------
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
const annotateApi = new AnnotateApi(config);
// -----------------------------------------------------------------------------
// Define input and output files
// -----------------------------------------------------------------------------
const inputFilePath = "sample.docx";
const outputFilePath = "sample_annotated.docx";
// -----------------------------------------------------------------------------
// Build FileInfo object for the source document
// -----------------------------------------------------------------------------
const fileInfo = new models.FileInfo();
fileInfo.filePath = inputFilePath;
// -----------------------------------------------------------------------------
// Define rectangle (position & size) for the sticky note on page 1
// -----------------------------------------------------------------------------
const rect = new models.Rectangle();
rect.x = 100; // distance from left edge (points)
rect.y = 100; // distance from top edge (points)
rect.width = 200; // width of the sticky note
rect.height = 100; // height of the sticky note
// -----------------------------------------------------------------------------
// Create the sticky‑note annotation
// -----------------------------------------------------------------------------
const stickyNote = new models.AnnotationInfo();
stickyNote.annotationType = "StickyNote";
stickyNote.pageNumber = 1;
stickyNote.rect = rect;
stickyNote.text = "This is a sticky note added via GroupDocs.Annotation Cloud SDK.";
stickyNote.color = "FFFF00"; // Yellow background
// -----------------------------------------------------------------------------
// Assemble the annotate request options
// -----------------------------------------------------------------------------
const annotateOptions = new models.AnnotateOptions();
annotateOptions.fileInfo = fileInfo;
annotateOptions.annotations = [stickyNote];
annotateOptions.outputPath = outputFilePath;
// -----------------------------------------------------------------------------
// Execute the request
// -----------------------------------------------------------------------------
(async () => {
try {
const request = new models.AnnotateRequest(annotateOptions);
const response = await annotateApi.annotate(request);
console.log("Sticky note created successfully. Output saved to:", response.path);
} catch (err) {
console.error("Failed to create sticky note:", err);
}
})();
Nota: Este ejemplo de código demuestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar cualquier ruta de archivo y valores de configuración para que coincidan con su entorno real, verifique que todas las dependencias requeridas estén correctamente instaladas y realice pruebas exhaustivas en su entorno de desarrollo. Si encuentra algún problema, consulte la documentación oficial o póngase en contacto con el equipo de soporte para obtener ayuda.
Agregar anotaciones de notas adhesivas con cURL y la API REST
La API REST ofrece la misma capacidad sin escribir código. A continuación se muestran las llamadas cURL requeridas.
Primero, obtenga un token de acceso:
curl -X POST "https://api.groupdocs.cloud/v2.0.0/auth/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
Cargue el archivo DOCX de origen (reemplaza YOUR_ACCESS_TOKEN con el token del paso anterior):
curl -X PUT "https://api.groupdocs.cloud/v2.0.0/storage/file/sample.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @sample.docx
Crear la anotación de nota adhesiva:
curl -X POST "https://api.groupdocs.cloud/v2.0.0/annotation/annotate" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfo": { "filePath": "sample.docx" },
"annotations": [
{
"annotationType": "StickyNote",
"pageNumber": 1,
"rect": { "x": 100, "y": 100, "width": 200, "height": 100 },
"text": "This is a sticky note added via GroupDocs.Annotation Cloud SDK.",
"color": "FFFF00"
}
],
"outputPath": "sample_annotated.docx"
}'
Descargue el documento anotado:
curl -X GET "https://api.groupdocs.cloud/v2.0.0/storage/file/sample_annotated.docx?download=true" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o sample_annotated.docx
Para obtener más detalles sobre las cargas útiles de la solicitud, consulte la referencia de API.
Configuración de opciones de anotación para notas adhesivas
El SDK expone varias propiedades que le permiten afinar la apariencia y el comportamiento de la nota adhesiva:
- annotationType - debe establecerse en
"StickyNote"(obligatorio). - pageNumber - la página donde aparecerá la nota.
- rect - define la posición (
x,y) y el tamaño (width,height). Ajuste estos valores para controlar la ubicación. - text - el contenido de la nota.
- color - color de fondo en HEX (p. ej.,
"FFFF00"para amarillo).
También puedes establecer campos opcionales como author, fontFamily, o opacity a través del modelo AnnotationInfo. Consulta la referencia de API para obtener la lista completa de propiedades configurables.
Conclusión
Al seguir los pasos anteriores ahora sabes cómo crear notas adhesivas en páginas de Word en Node.JS usando GroupDocs.Annotation Cloud SDK. Ya sea que prefieras una implementación nativa de Node.js o un flujo de trabajo basado en REST‑cURL, el SDK ofrece una forma coherente y fiable de anotar archivos DOCX de forma programática. Recuerda aplicar una licencia válida para uso en producción; puedes obtener una licencia temporal en la página de licencia o revisar las opciones de precios en la página del producto. ¡Feliz anotación!
Preguntas frecuentes
¿Cómo puedo crear notas adhesivas en páginas de Word en Node.JS usando GroupDocs.Annotation Cloud SDK?
Utilice el AnnotateApi como se muestra en el ejemplo de código. El SDK maneja el acceso a archivos, la creación de anotaciones y la generación de salida automáticamente.¿Qué formatos de archivo son compatibles para anotación con el SDK?
El SDK funciona con DOCX, PDF, PPTX, XLSX, y muchos otros formatos populares. Consulte la lista completa en la documentación oficial.¿Cómo me autentico al usar la API REST para notas adhesivas?
Obtenga un token de acceso mediante el endpoint/auth/tokenusando sus credenciales de cliente, luego incluya el token en el encabezadoAuthorization: Bearerpara todas las llamadas posteriores. Los pasos detallados están en la referencia de API.¿Puedo personalizar el color o el tamaño de la nota adhesiva?
Sí. Establezca la propiedadcolora un valor HEX y ajuste las dimensionesrect(width,height) para controlar el tamaño y la posición de la nota.
