دمج قدرات تجميع المستندات القوية في تطبيقات 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);