ספריית 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