Thư viện Go để xây dựng các báo cáo tùy chỉnh cao bằng cách sử dụng REST API
Bắt đầu dùng thử miễn phíGroupDocs.Assembly Cloud SDK cho Go cho phép bạn nhúng khả năng tạo tài liệu mạnh mẽ vào bất kỳ ứng dụng Go nào mà không cần các thư viện bên thứ ba nặng. Dịch vụ hoàn toàn dựa trên đám mây và giao tiếp qua một REST API đơn giản, có nghĩa là bạn chỉ cần kết nối internet và thông tin xác thực API của mình để bắt đầu tạo tài liệu.
Quy trình làm việc điển hình bao gồm ba bước logic:
Cách tiếp cận này cho phép tạo hợp đồng, hoá đơn, phiếu vận chuyển, đề xuất bán hàng và bất kỳ tài liệu kinh doanh quan trọng nào khác trong thời gian thực. Nó cũng hỗ trợ Mail Merge để tạo hàng loạt thư cá nhân hoá, tạo barcode, tạo kiểu nền HTML, và tạo email attachment. Tất cả các hoạt động đều được bảo mật bằng mã hoá SSL/TLS và xác thực khóa API, đảm bảo dữ liệu nhạy cảm không bao giờ rời khỏi đám mây mà không được bảo vệ.
Vì các công việc nặng được thực hiện trên đám mây, SDK hoạt động trên mọi hệ điều hành có thể chạy Go (Windows macOS, Linux) và chỉ yêu cầu bước cài đặt go get tiêu chuẩn. Không cần phần mềm bổ sung, không cần cài đặt Office bản địa, và không cần xử lý thủ công các định dạng tệp phức tạp – dịch vụ đám mây trừu tượng hoá toàn bộ sự phức tạp, cho phép bạn tập trung vào logic nghiệp vụ.
Đoạn mã dưới đây minh họa cách tải lên một mẫu, đọc nguồn dữ liệu và gọi Assembly API để tạo tài liệu bằng Go.
Các bước
config.json.AssembleOptions với đường dẫn mẫu và định dạng đầu ra mong muốn.AssembleDocument và nhận tệp đã lắp ráp.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