GroupDocs.Assembly Cloud هي خدمة مُدارة بالكامل، مبنية على REST، تمكّن المطورين من إنشاء مستندات ذات تنسيق غني برمجيًا.
تعمل الخدمة مع ملفات القوالب – Word، Excel، PowerPoint، HTML، PDF، أو أي من صيغ OpenOffice المدعومة – التي تحتوي على وسوم نائبة خاصة. أثناء التشغيل، تُربط البيانات من مصادر XML أو JSON بهذه الوسوم باستخدام بنية تعبيرية على نمط LINQ، مما يتيح لك إدراج قيم بسيطة، جداول، صور، مخططات، باركود، روابط تشعبية، وحتى محتوى شرطي. تتولى بنية السحابة كل الأعمال الثقيلة: تحليل القالب، إجراء الحسابات، رسم الرسوميات وأخيرًا تسليم المستند المُجمّع بالصِيغة التي تطلبها (DOCX، PDF، HTML، PNG، إلخ).
نظرًا لأن API لا يعتمد على منصة معينة، يمكنك استدعاؤه من أي لغة تستطيع إرسال طلبات HTTP. الـ .NET SDK يلف استدعاءات REST في كائن موجه للكائنات أصلي API، يخفي تفاصيل المصادقة ويوفر نماذج طلب/استجابة ذات نوعية قوية.
سير العمل النموذجي لـ .NET
groupdocs.GroupDocs.Assembly-Cloud إلى مشروعك.Configuration باستخدام معرف تطبيقك SID وApp Key (المستخرجة من لوحة تحكم GroupDocs Cloud).UploadFile لوضع القالب في GroupDocs Cloud Storage.AssembleDocument – يرسل SDK طلبًا واحدًا؛ يحتوي الرد على تدفق الملف المُولَّد.الـ SDK هو مفتوح المصدر ومُحافظ عليه على GitHub: https://github.com/groupdocs-GroupDocs.Assembly-cloud/groupdocs-GroupDocs.Assembly-cloud-dotnet. يتلقى تحديثات دورية، يتضمن اختبارات وحدة شاملة، ويتبع النسخ الدلالية.
الأمان مدمج: كل المرور مشفر باستخدام SSL/TLS، والوصول محمي بمفاتيح API الشخصية. لا يلزم أي برنامج إضافي أو مكوّنات طرف ثالث على جانب العميل – الخدمة تعمل بالكامل في السحابة، مما يجعلها مثالية للتطبيقات داخل المؤسسة، الخالية من الخوادم، أو تطبيقات سطح المكتب.
باختصار، GroupDocs.Assembly Cloud مع الـ .NET SDK يمنحك حلًا قابلًا للتوسع وقليل الشيفرة لإنشاء العقود، الفواتير، التقارير، العروض، رسائل الدمج البريدي وأي سير عمل ثقيل المستندات مباشرةً من كود C# الخاص بك.
المقتطف يوضح كيفية رفع ملف قالب، ربط مصدر بيانات وتوليد مستند باستخدام Assembly Cloud API.
الخطوات
AssembleOptions – حدد تنسيق الإخراج والبيانات ومسار القالب.AssembleDocument وتلقَّ الملف المُجمَّع.using GroupDocs.Assembly.Cloud.Sdk;
var config = new Configuration
{
AppSid = "####-####-####-####-####",
AppKey = "##################"
};
var assemblyApi = new AssemblyApi(config);
var fileName = "Input1.docx";
var dataFile = "Input2.docx";
// Upload template
var uploadRequest = new UploadFileRequest(File.OpenRead(fileName), fileName);
assemblyApi.UploadFile(uploadRequest);
// Assemble document
var assembleOptions = new AssembleOptions
{
SaveFormat = "docx",
ReportData = File.ReadAllText(dataFile),
TemplateFileInfo = new TemplateFileInfo { FilePath = fileName }
};
var assembleRequest = new AssembleDocumentRequest(assembleOptions);
var assembledDocument = assemblyApi.AssembleDocument(assembleRequest);