دمج إمكانيات تجميع المستندات القوية في تطبيقات 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 لإنشاء التقرير.// Replace with your App SID and App Key
const { AssemblyApi, AssembleDocumentRequest, AssembleOptions, TemplateFileInfo, model } = require("groupdocs-assembly-cloud");
const fs = require("fs");
const path = require("path");
// Authorization placeholder
const assemblyApi = new AssemblyApi(".#-.#-.#-.#-.#", "......");
// 1️⃣ Upload the template file
const templatePath = "Input1.docx";
const uploadRequest = new model.UploadFileRequest({
fileContent: fs.createReadStream(templatePath),
path: templatePath
});
await assemblyApi.uploadFile(uploadRequest);
// 2️⃣ Read the data source (JSON)
const dataPath = "Input2.docx";
const reportData = fs.readFileSync(dataPath, "utf8");
// 3️⃣ Set assembly options
const assembleOptions = new AssembleOptions({
saveFormat: "pdf",
reportData: reportData,
templateFileInfo: new TemplateFileInfo({ filePath: templatePath })
});
// 4️⃣ Create and send the assemble request
const request = new AssembleDocumentRequest({ assembleOptions });
const result = await assemblyApi.assembleDocument(request);
// 5️⃣ Save the resulting document
const outputPath = path.join(__dirname, "GeneratedReport.pdf");
fs.writeFileSync(outputPath, result.body);
console.log("Report generated successfully:", outputPath);