Biblioteca Go para crear informes altamente personalizados usando REST API
Empiza la prueba gratuitaGroupDocs.Assembly Cloud SDK for Go te permite incrustar potentes capacidades de generación de documentos en cualquier aplicación Go sin necesidad de librerías de terceros pesadas. El servicio está totalmente basado en la nube y se comunica a través de un simple REST API, lo que significa que solo necesitas una conexión a internet y tus credenciales API para comenzar a crear documentos.
El flujo de trabajo típico consta de tres pasos lógicos:
Este enfoque permite generar contratos, facturas, manifiestos de envío, propuestas de venta y cualquier otro documento crítico para el negocio en tiempo real. También soporta Mail Merge para la creación por lotes de cartas personalizadas, generación de códigos de barras, estilo de fondo HTML, y creación de adjuntos de correo electrónico. Todas las operaciones están aseguradas con encriptación SSL/TLS y autenticación con clave API, garantizando que los datos sensibles nunca abandonen la nube sin protección.
Debido a que el procesamiento intensivo se realiza en la nube, el SDK funciona en cualquier sistema operativo que pueda ejecutar Go (Windows macOS, Linux) y solo requiere el paso de instalación estándar go get. No se necesita software adicional, ni instalaciones nativas de Office, ni manejo manual de formatos de archivo complejos: el servicio en la nube abstrae toda esa complejidad, permitiéndote centrarte en la lógica de negocio.
El fragmento siguiente muestra cómo cargar una plantilla, leer una fuente de datos y llamar a la Assembly API para generar un documento usando Go.
Pasos
config.json.AssembleOptions con la ruta de la plantilla y el formato de salida deseado.AssembleDocument y recibe el archivo ensamblado.import (
"os"
"io/ioutil"
"github.com/groupdocs-assembly-cloud/groupdocs-assembly-cloud-go/api"
"github.com/groupdocs-assembly-cloud/groupdocs-assembly-cloud-go/api/models"
)
// 1. Initialise configuration
config, _ := models.NewConfiguration("config.json")
assemblyApi, ctx, _ := api.NewAPIClient(config)
// 2. Upload template
fileName := "Input1.docx"
requestFileContent, _ := os.Open(fileName)
uploadReq := &models.UploadFileRequest{
FileContent: requestFileContent,
Path: ToStringPointer(fileName),
}
_, _, _ = assemblyApi.UploadFile(ctx, uploadReq)
// 3. Read data source
dataFile := "Input2.docx" // can be XML or JSON
data, _ := ioutil.ReadFile(dataFile)
// 4. Prepare assemble options
templateInfo := api.TemplateFileInfo{FilePath: fileName}
assembleOptions := api.AssembleOptions{
TemplateFileInfo: &templateInfo,
SaveFormat: "docx",
ReportData: string(data),
}
// 5. Generate document
output, err := assemblyApi.AssemblyApi.AssembleDocument(ctx, assembleOptions)
if err != nil {
// handle error
}
// `output` contains the generated document