Библиотека Go для создания настраиваемых отчетов с использованием REST API
Начать бесплатную пробную версиюGroupDocs.Assembly Cloud SDK для Go позволяет встраивать мощные функции генерации документов в любое приложение Go без необходимости использования громоздких сторонних библиотек. Сервис полностью облачный и взаимодействует через простой REST API, что означает, что для создания документов вам потребуется только подключение к Интернету и ваши учетные данные API.
Типичный рабочий процесс состоит из трёх логических этапов:
Этот подход позволяет генерировать договоры, счета-фактуры, грузовые накладные, коммерческие предложения и любые другие критически важные для бизнеса документы в режиме реального времени. Он также поддерживает Mail Merge для пакетного создания персонализированных писем, штрихкодов, стилизацию фона в HTML и вложений в электронные письма. Все операции защищены шифрованием 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