REST API و Ruby Cloud SDK لتجميع المستندات، دمجها، ودمج البريد من القوالب ومصادر البيانات.
ابدأ التجربة المجانيةGroupDocs.Assembly Cloud هي خدمة مُدارة بالكامل ومبنية على REST تتيح لك إنشاء مستندات مخصصة للغاية مباشرةً من تطبيقات Ruby الخاصة بك. تعمل المنصة على نموذج القالب والبيانات: تقوم بتصميم مستند قالب (مثل Word، Excel، PowerPoint، PDF، HTML، إلخ) يحتوي على حقول نائبة خاصة وبُنى قابلة للبرمجة. عند التنفيذ، تُزوِّد مصدر البيانات بصيغة XML أو JSON، وتربط البيانات بالقالب باستخدام صياغة تعبيرية بنمط LINQ، وتقوم خدمة السحابة بتجميع المستند النهائي بالصِيغة التي تحتاجها.
يلغي هذا النهج الحاجة إلى أي تثبيتات محلية لـ Office أو مكتبات طرف ثالث أو محركات عرض معقدة – جميع الأعمال الثقيلة تُنفّذ في مركز البيانات الآمن GroupDocs. ستحصل على دعم مدمج لـ mail‑merge، الجداول الديناميكية، المحتوى الشرطي، إنشاء الباركود، إدراج الصور والرسوم البيانية، ومجموعة غنية من خيارات التنسيق. كما توفر الخدمة اتصالًا مشفّرًا SSL/TLS، ومفاتيح وصول شخصية للمصادقة، وأذونات مبنية على الأدوار لحماية بياناتك.
gem install groupdocs_assembly_cloud).app_sid وapi_key الخاصين بك.UploadFile.AssembleOptions يشير إلى القالب المحمّل، يحدد صيغة الإخراج المطلوبة، ويزوّد ب مصدر البيانات XML/JSON (أو ملف يحتويه).assemble_document – تُعيد API المستند المُجمّع، والذي يمكنك تنزيله مباشرةً أو تخزينه مرة أخرى في Cloud Storage.باستخدام هذه السلسلة البسيطة يمكنك إنشاء العقود، الفواتير، العروض، تقارير الشحن، الرسائل المخصَّصة، أو أي مستند تجاري حيوي آخر عند الطلب، مع القدرة على التوسع من طلب واحد إلى سيناريوهات معالجة دفعات كبيرة باستخدام mail‑merge.
كما يوفر Ruby SDK فئات مساعدة للعمل مع التخزين، ومعالجة الأخطاء، وتخصيص مهلات الطلبات، مما يجعل التكامل مع Rails، Sinatra أو أي خدمة مبنية على Ruby سلسًا.
المقتطف أدناه يوضح كيفية إنشاء مستند باستخدام Assembly Cloud Ruby SDK. الخطوات التي تم تنفيذها:
AssembleOptions – القالب، صيغة الإخراج ومصدر البيانات.assemble_document للحصول على الملف المُجمّع.require_relative '../lib/groupdocs_assembly_cloud'
GroupDocsAssemblyCloud.configure do |config|
config.client_data['app_sid'] = '####-####-####-####-####'
config.client_data['api_key'] = '##################'
end
@assembly_api = AssemblyApi.new
file_name = 'Input1.docx'
data_file = 'Input2.docx'
request_file_content = File.open(file_name)
upload_document_request = UploadFileRequest.new(
file_content: request_file_content, path: file_name)
@assembly_api.upload_file(upload_document_request)
template_file_info = TemplateFileInfo.new(:FilePath => file_name)
assemble_options = AssembleOptions.new(
:TemplateFileInfo => template_file_info,
:SaveFormat => "docx",
:ReportData => File.open(data_file, 'rb') { |f| f.read })
request = AssembleDocumentRequest.new assemble_options
@assembly_api.assemble_document request