Biblioteca Go para criar relatórios altamente personalizados usando REST API
Iniciar teste gratuitoGroupDocs.Assembly Cloud SDK para Go permite que você incorpore recursos poderosos de geração de documentos em qualquer aplicação Go sem a necessidade de bibliotecas de terceiros pesadas. O serviço é totalmente baseado na nuvem e se comunica através de um simples REST API, o que significa que você só precisa de uma conexão à internet e das suas credenciais API para começar a criar documentos.
O fluxo de trabalho típico consiste em três etapas lógicas:
Essa abordagem permite a geração de contratos, faturas, manifestos de envio, propostas de vendas e quaisquer outros documentos críticos para o negócio em tempo real. Também oferece suporte a Mail Merge para criação em lote de cartas personalizadas, geração de código de barras, estilização de fundo HTML e criação de anexo de e‑mail. Todas as operações são protegidas com criptografia SSL/TLS e autenticação por chave API, garantindo que dados sensíveis nunca deixem a nuvem desprotegidos.
Como o processamento pesado ocorre na nuvem, o SDK funciona em qualquer sistema operacional que possa executar Go (Windows macOS, Linux) e requer apenas a etapa padrão de instalação go get. Não é necessário software adicional, nem instalações nativas de Office, nem manipulação manual de formatos de arquivo complexos – o serviço em nuvem abstrai toda essa complexidade, permitindo que você se concentre na lógica de negócios.
O trecho abaixo demonstra como carregar um modelo, ler uma fonte de dados e chamar o Assembly API para gerar um documento usando Go.
Passos
config.json.AssembleOptions com o caminho do modelo e o formato de saída desejado.AssembleDocument e receba o arquivo montado.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