Biblioteca Swift para crear informes altamente personalizados mediante API REST
Empiza la prueba gratuitaGroupDocs.AssemblyCloud es un servicio de ensamblaje de documentos totalmente gestionado y basado en REST que permite a los desarrolladores crear informes, contratos, facturas, propuestas y cualquier otro tipo de documento con formato enriquecido directamente desde aplicaciones Swift. El servicio funciona sobre el almacenamiento en la nube de GroupDocs: las plantillas y los datos se suben a la nube, el motor de ensamblaje los procesa y el documento final se devuelve al cliente sin necesidad de instalar Office localmente. Esto elimina la sobrecarga de mantenimiento de bibliotecas de terceros, reduce la carga de procesamiento del servidor y garantiza la compatibilidad con los formatos más recientes (DOCX, PDF, PPTX, XLSX, HTML, etc.) siempre disponible.
Con el SDK de Swift, todo el flujo de trabajo se integra de forma natural en el ciclo de desarrollo típico de iOS/MacOS:
Preparar una plantilla: un archivo de Word, Excel, PowerPoint o cualquier otro formato compatible que contenga marcadores de posición (p. ej., {{Customer.Name}}
) y reglas de generación opcionales escritas con sintaxis de estilo LINQ.
Crear una fuente de datos: un archivo JSON o XML que proporciona los valores para los marcadores de posición. Se pueden usar estructuras complejas, como matrices, para generar tablas, gráficos o secciones repetidas.
Subir la plantilla a GroupDocs Cloud Storage mediante una sola llamada a la API (el SDK gestiona la solicitud multiparte).
Llamar al punto final de ensamblaje: pasar la ruta de la plantilla en la nube, el contenido de la fuente de datos y el formato de salida deseado (el formato de salida puede ser diferente al de la plantilla; por ejemplo, generar un PDF a partir de una plantilla DOCX).
Recibir el documento ensamblado: el servicio transmite el resultado; el SDK puede guardarlo localmente, enviarlo por correo electrónico o almacenarlo de nuevo en Cloud Storage.
El SDK abstrae todos los detalles HTTP: solo necesita proporcionar el SID y la clave de la aplicación (tokens de acceso personales). Toda la comunicación está cifrada con SSL/TLS, la gestión de errores sigue los códigos de estado HTTP estándar y el servicio cumple con los estándares de seguridad del sector. Dado que el procesamiento se realiza en la nube, el mismo código Swift funciona en iPhone, iPad, Mac o cualquier otra plataforma que pueda ejecutar código Swift y realizar solicitudes de red.
Las siguientes pestañas ofrecen una breve descripción general de las funciones compatibles con AssemblyCloud para Swift, la lista completa de formatos de documento y los sistemas operativos y herramientas de desarrollo compatibles con el SDK.
El siguiente fragmento muestra cómo generar un informe con el SDK de Assembly Cloud para Swift. Carga una plantilla, lee un archivo de datos, configura las opciones de ensamblaje e invoca la API.
Pasos
AssemblyApi
con el SID y la clave de la aplicación.TemplateFileInfo
que apunte a la plantilla cargada.AssembleOptions
con la plantilla, los datos y el formato.assembleDocument
y obtenga el archivo ensamblado.import GroupDocsAssemblyCloud
let assemblyApi = AssemblyApi(appSid: "......##", appKey: "......##")
let fileName = "Input1.docx"
let dataFile = "Input2.docx"
// Upload template
let requestFileContent = InputStream(url: URL(string: fileName)!)!
let uploadDocumentRequest = UploadFileRequest(fileContent: requestFileContent, path: fileName)
_ = try assemblyApi.uploadFile(request: uploadDocumentRequest)
// Prepare template info
let templateFileInfo = TemplateFileInfo()
templateFileInfo.setFilePath(filePath: fileName)
// Load data
let reportData = try String(contentsOfFile: dataFile, encoding: .utf8)
// Assemble options
let assembleOptions = AssembleOptions()
assembleOptions.setTemplateFileInfo(templateFileInfo: templateFileInfo)
assembleOptions.setSaveFormat(saveFormat: "docx")
assembleOptions.setReportData(reportData: reportData)
// Execute assembly
let request = AssembleDocumentRequest(assembleOptions: assembleOptions)
let result = try assemblyApi.assembleDocument(request: request)