کتابخانه Go برای ساخت گزارشهای بسیار سفارشی با استفاده از REST API
آزمایش رایگان را شروع کنیدGroupDocs.Assembly Cloud SDK برای Go به شما امکان میدهد قابلیتهای قدرتمند تولید سند را بدون نیاز به کتابخانههای سنگین شخص ثالث، در هر برنامهٔ Go جاسازی کنید. این سرویس بهصورت کامل ابری است و از طریق یک REST API ساده ارتباط برقرار میکند، به این معنی که تنها به اتصال اینترنت و اعتبارنامهٔ API خود برای شروع ایجاد اسناد نیاز دارید.
گردش کار معمولی شامل سه گام منطقی است:
این رویکرد امکان تولید قراردادها، فاکتورها، فهرستهای حملونقل، پیشنهادهای فروش و هر سند حیاتی دیگر کسبوکار را بهصورت زمان واقعی فراهم میکند. همچنین Mail Merge برای ایجاد دستهای نامههای شخصیسازیشده، تولید barcode، استایلگذاری پسزمینهٔ 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