Integre potentes capacidades de ensamblaje de documentos en sus aplicaciones Node utilizando la API REST de GroupDocs.Assembly Cloud.
Empiza la prueba gratuitaGroupDocs.Assembly Cloud es un servicio REST totalmente gestionado que permite a los desarrolladores crear documentos con un formato enriquecido y listos para imprimir a partir de plantillas reutilizables y fuentes de datos externas.
La plataforma admite una amplia variedad de formatos de origen y destino, desde archivos clásicos de Microsoft Office (DOCX, XLSX, PPTX) hasta PDF, HTML, OpenDocument y numerosos formatos gráficos. Esto permite generar contratos, facturas, informes, folletos de marketing o cualquier documento personalizado sin instalar software de terceros en los servidores. Todo el trabajo pesado (análisis de plantillas, enlace de datos, renderizado de imágenes, generación de códigos de barras, evaluación de fórmulas y conversión de archivos) se realiza en la nube, lo que garantiza resultados consistentes en todos los sistemas operativos y reduce los costes de infraestructura.
¿Por qué usar el SDK de Node.js? *Runtime sin instalación: el SDK es una pequeña envoltura de la API REST de Assembly Cloud, por lo que solo necesita Node12+ y un paquete npm. * Multiplataforma: funciona igual en Windows, macOS, Linux o dentro de contenedores.
Seguro: toda la comunicación se cifra mediante TLS y la autenticación se realiza con su SID y clave de aplicación personales.
Escalable: el servicio en la nube puede gestionar solicitudes de un solo documento, así como trabajos de combinación de correspondencia por lotes de gran volumen.
Extensible: la misma API se puede usar desde cualquier lenguaje que pueda llamar a puntos finales REST; el SDK de Node.js simplifica la construcción de solicitudes y la gestión de respuestas.
Flujo de trabajo típico en una aplicación Node.js
Prepare una plantilla (DOCX, PPTX, etc.) que contenga campos de marcador de posición y construcciones de programación opcionales, como bloques condicionales, bucles o etiquetas de código de barras.
Cree una fuente de datos en XML o JSON que proporcione los valores que se combinarán en la plantilla. 3. Suba la plantilla a GroupDocs Cloud Storage usando el método uploadFile del SDK.
Configure AssembleOptions: especifique la ruta de la plantilla, la fuente de datos, el formato de salida deseado (PDF, DOCX, HTML, etc.) y cualquier configuración adicional (p. ej., generación de código de barras, color de fondo).
Llame a assembleDocument: el SDK envía una única solicitud HTTP que activa el proceso de ensamblaje en el servidor.
Reciba el archivo ensamblado como una matriz de bytes, guárdelo localmente o transmítalo directamente al cliente.
El siguiente ejemplo (mostrado en la sección Más funciones) muestra cada uno de estos pasos en un fragmento de código compacto y listo para producción.
El siguiente fragmento muestra un flujo completo: cargar una plantilla, leer un archivo de datos JSON, configurar la solicitud de ensamblaje y recibir el documento ensamblado.
Pasos
AssembleOptions: elegir el formato de salida y vincular los datos.assembleDocument para generar el informe.// Replace with your App SID and App Key
const { AssemblyApi, AssembleDocumentRequest, AssembleOptions, TemplateFileInfo, model } = require("groupdocs-assembly-cloud");
const fs = require("fs");
const path = require("path");
// Authorization placeholder
const assemblyApi = new AssemblyApi(".#-.#-.#-.#-.#", "......");
// 1️⃣ Upload the template file
const templatePath = "Input1.docx";
const uploadRequest = new model.UploadFileRequest({
fileContent: fs.createReadStream(templatePath),
path: templatePath
});
await assemblyApi.uploadFile(uploadRequest);
// 2️⃣ Read the data source (JSON)
const dataPath = "Input2.docx";
const reportData = fs.readFileSync(dataPath, "utf8");
// 3️⃣ Set assembly options
const assembleOptions = new AssembleOptions({
saveFormat: "pdf",
reportData: reportData,
templateFileInfo: new TemplateFileInfo({ filePath: templatePath })
});
// 4️⃣ Create and send the assemble request
const request = new AssembleDocumentRequest({ assembleOptions });
const result = await assemblyApi.assembleDocument(request);
// 5️⃣ Save the resulting document
const outputPath = path.join(__dirname, "GeneratedReport.pdf");
fs.writeFileSync(outputPath, result.body);
console.log("Report generated successfully:", outputPath);