Библиотека Go для создания высококастомизированных отчетов с использованием REST API
Начать бесплатную пробную версиюGroupDocs.Assembly Cloud SDK for Go позволяет Вам внедрять мощные возможности генерации документов в любое приложение Go без необходимости использования тяжёлых сторонних библиотек. Сервис полностью облачный и взаимодействует через простой REST API, что означает, что Вам нужен лишь доступ к Интернету и Ваши учётные данные API, чтобы начать создавать документы.
Обычный рабочий процесс состоит из трёх логических шагов:
Такой подход позволяет в реальном времени генерировать контракты, счета‑фактуры, транспортные накладные, коммерческие предложения и любые другие бизнес‑критичные документы. Он также поддерживает Mail Merge для пакетного создания персонализированных писем, генерацию barcode, стилизацию фона HTML, а также создание email attachment. Все операции защищены шифрованием SSL/TLS и аутентификацией по ключу API, гарантируя, что конфиденциальные данные никогда не покидают облако без защиты.
Поскольку основная обработка происходит в облаке, SDK работает на любой операционной системе, способной запускать Go (Windows macOS, Linux) и требует лишь стандартного шага установки go get. Нет необходимости в дополнительном программном обеспечении, нативных установках Office и ручной работе с сложными форматами файлов - облачный сервис абстрагирует всю эту сложность, позволяя Вам сосредоточиться на бизнес‑логике.
Приведённый ниже фрагмент демонстрирует, как загрузить шаблон, прочитать источник данных и вызвать Assembly API для создания документа с использованием Go.
Шаги
config.json.AssembleOptions с путём к шаблону и желаемым форматом вывода.AssembleDocument и получите собранный файл.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