مولد التقارير لـ Go

مكتبة Go لإنشاء تقارير مخصصة للغاية باستخدام واجهة برمجة تطبيقات REST

  • GroupDocs.Assembly Cloud SDK for cURL
  • GroupDocs.Assembly Cloud SDK for .NET
  • GroupDocs.Assembly Cloud SDK for Java
  • GroupDocs.Assembly Cloud SDK for C++
  • GroupDocs.Assembly Cloud SDK for Go
  • GroupDocs.Assembly Cloud SDK for Node.js
  • GroupDocs.Assembly Cloud SDK for PHP
  • GroupDocs.Assembly Cloud SDK for Python
  • GroupDocs.Assembly Cloud SDK for Ruby
  • GroupDocs.Assembly Cloud SDK for Swift
ابدأ التجربة المجانية

تتيح لك مجموعة تطوير البرامج السحابية GroupDocs.Assembly لنظام Go تضمين إمكانيات إنشاء مستندات فعّالة في أي تطبيق Go دون الحاجة إلى مكتبات خارجية ضخمة. تعتمد الخدمة بالكامل على السحابة وتتواصل عبر واجهة برمجة تطبيقات REST بسيطة، مما يعني أنك تحتاج فقط إلى اتصال بالإنترنت وبيانات اعتماد واجهة برمجة التطبيقات لبدء إنشاء المستندات.

يتكون سير العمل النموذجي من ثلاث خطوات منطقية:

  1. إعداد قالب - أنشئ ملف Word أو PDF أو HTML أو أي تنسيق مدعوم يحتوي على حقول نائبة وبنى برمجية (حلقات برمجية، جمل شرطية، حسابات). يعمل القالب كمخطط للمستند النهائي.

  2. توفير مصدر بيانات - وفّر بيانات XML أو JSON مطابقة للحقول النائبة. تستخدم مجموعة تطوير البرامج بنية تعبيرات LINQ لربط البيانات بالقالب، مما يسمح لك بإنشاء جداول وقوائم ومخططات ومحتوى ديناميكي فورًا.

٣. تجميع المستند - باستخدام Go SDK، يمكنك تحميل القالب إلى تخزين GroupDocs السحابي، وإرسال طلب تجميع يحدد مسار القالب، ومصدر البيانات، وتنسيق الإخراج المطلوب (DOCX، PDF، HTML، إلخ)، وأخيرًا تنزيل المستند الناتج مباشرةً من استجابة واجهة برمجة التطبيقات.

يتيح هذا النهج إنشاء العقود، والفواتير، وقوائم الشحن، وعروض المبيعات، وأي مستند آخر بالغ الأهمية للأعمال في الوقت الفعلي. كما يدعم دمج المراسلات لإنشاء دفعات من الرسائل الشخصية، وإنشاء الرموز الشريطية، وتصميم خلفية HTML، وإنشاء مرفقات البريد الإلكتروني. جميع العمليات مؤمنة بتشفير SSL/TLS ومصادقة مفتاح واجهة برمجة التطبيقات، مما يضمن عدم مغادرة البيانات الحساسة السحابة دون حماية.

نظرًا لأن العمل الشاق يتم في السحابة، تعمل SDK على جميع أنظمة التشغيل التي تدعم Go (Windows، macOS، Linux) ولا تتطلب سوى خطوة التثبيت القياسية “go get”. لا حاجة إلى برامج إضافية، ولا تثبيتات Office الأصلية، ولا التعامل اليدوي مع تنسيقات الملفات المعقدة - تعمل الخدمة السحابية على تلخيص كل هذا التعقيد، مما يسمح لك بالتركيز على منطق العمل.

ميزات واجهة برمجة تطبيقات تجميع المستندات REST

تجميع المستندات المستند إلى السحابة يمكن الوصول إليه عبر واجهة برمجة التطبيقات REST

محرك قالب مع حقول نائبة

ربط تعبيرات نمط LINQ لبيانات XML/JSON

تضمين الصور والرسوم البيانية والرموز الشريطية والمستندات الخارجية

إنشاء جداول وقوائم ديناميكية من المصفوفات

إدراج الروابط التشعبية والإشارات المرجعية ومرفقات البريد الإلكتروني

تطبيق الصيغ وعمليات البيانات المتسلسلة

كتل المحتوى الشرطية (IF‑ELSE) والمتغيرات القابلة لإعادة الاستخدام

الاتصالات المشفرة باستخدام SSL/TLS ومصادقة مفتاح API

تحميل القوالب إلى GroupDocs Cloud Storage عبر REST

إنشاء مستند في Go

يوضح المقطع أدناه كيفية تحميل قالب، وقراءة مصدر بيانات، واستدعاء واجهة برمجة تطبيقات التجميع لإنشاء مستند باستخدام Go.

الخطوات

  1. تحميل ملف التكوين من config.json.
  2. تحميل ملف القالب إلى التخزين السحابي.
  3. قراءة مصدر البيانات (XML/JSON).
  4. ضبط AssembleOptions مع مسار القالب وتنسيق الإخراج المطلوب.
  5. استدعاء 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

Support and Learning Resources

توفر GroupDocs.Assembly Cloud أيضًا مجموعات SDK فردية للغات أخرى كما هو موضح أدناه:

  عربي