دمج إمكانيات تجميع المستندات القوية في تطبيقات Node الخاصة بك باستخدام GroupDocs.Assembly Cloud REST API.
ابدأ التجربة المجانيةGroupDocs.Assembly Cloud هي خدمة مُدارة بالكامل، تعتمد على REST، تُمكّن المطورين من إنشاء مستندات غنية التنسيق وجاهزة للطباعة من قوالب قابلة لإعادة الاستخدام ومصادر بيانات خارجية.
تدعم المنصة مجموعة واسعة من تنسيقات المصدر والهدف - من ملفات Microsoft Office الكلاسيكية (DOCX، XLSX، PPTX) إلى PDF، HTML، OpenDocument، والعديد من التنسيقات الرسومية - مما يسمح لك بإنشاء العقود، والفواتير، والتقارير، وكتيبات التسويق، أو أي مستند مخصص دون تثبيت أي برامج خارجية على خوادمك. تُنفذ جميع المهام المعقدة - تحليل القوالب، وربط البيانات، وعرض الصور، وإنشاء الباركود، وتقييم الصيغ، وتحويل الملفات - في السحابة، مما يضمن نتائج متسقة عبر أنظمة التشغيل ويقلل من تكاليف البنية التحتية.
لماذا استخدام Node.js SDK؟
سير العمل النموذجي في تطبيق Node.js
uploadFile في حزمة تطوير البرامج (SDK).٤. تهيئة AssembleOptions - حدد مسار القالب، ومصدر البيانات، وتنسيق الإخراج المطلوب (PDF، DOCX، HTML، …) وأي إعدادات إضافية (مثل إنشاء الباركود، ولون الخلفية).
٥. استدعاء assembleDocument - ترسل حزمة تطوير البرامج (SDK) طلب HTTP واحدًا يُفعّل عملية التجميع على الخادم.
٦. استلم الملف المُجمّع كمصفوفة بايت، أو احفظه محليًا، أو أرسله مباشرةً إلى العميل.
يوضح المثال التالي (الموضح في قسم المزيد من الميزات) كل خطوة من هذه الخطوات في مقتطف برمجي مُدمج وجاهز للاستخدام.
يوضح المقطع أدناه سير العمل كاملاً: تحميل قالب، قراءة ملف بيانات JSON، تهيئة طلب التجميع، واستلام المستند المُجمّع.
الخطوات
AssembleOptions - اختر تنسيق الإخراج واربط البيانات.assembleDocument لإنشاء التقرير.// استبدل بمعرف أمان التطبيق (SID) ومفتاح التطبيق
const { AssemblyApi, AssembleDocumentRequest, AssembleOptions, TemplateFileInfo, model } = require("groupdocs-assembly-cloud");
const fs = require("fs");
مسار ثابت = require("path");
// عنصر نائب للتفويض
const assemblyApi = new AssemblyApi(".#-.#-.#-.#-.#", "......");
// 1️⃣ حمّل ملف القالب
const templatePath = "Input1.docx";
const uploadRequest = new model.UploadFileRequest({
fileContent: fs.createReadStream(templatePath),
path: templatePath
});
await assemblyApi.uploadFile(uploadRequest);
// 2️⃣ اقرأ مصدر البيانات (JSON)
const dataPath = "Input2.docx";
const reportData = fs.readFileSync(dataPath, "utf8");
// 3️⃣ ضبط خيارات التجميع
const assembleOptions = new AssembleOptions({
saveFormat: "pdf",
reportData: reportData,
templateFileInfo: new TemplateFileInfo({ filePath: templatePath })
});
// 4️⃣ إنشاء وإرسال طلب التجميع
const request = new AssembleDocumentRequest({ assembleOptions });
const result = await assemblyApi.assembleDocument(request);
// 5️⃣ حفظ المستند الناتج
const outputPath = path.join(__dirname, "GeneratedReport.pdf");
fs.writeFileSync(outputPath, result.body);
console.log("تم إنشاء التقرير بنجاح:", outputPath);