با استفاده از GroupDocs.Assembly Cloud REST API، قابلیتهای قدرتمند اسمبلی اسناد را در برنامههای Node خود ادغام کنید.
آزمایش رایگان را شروع کنیدGroupDocs.Assembly Cloud یک سرویس کاملاً مدیریتشده و مبتنی بر REST است که به توسعهدهندگان امکان میدهد اسناد با قالببندی غنی و آماده چاپ را از قالبهای قابل استفاده مجدد و منابع داده خارجی ایجاد کنند.
این پلتفرم از طیف گستردهای از قالبهای منبع و هدف - از فایلهای کلاسیک مایکروسافت آفیس (DOCX، XLSX، PPTX) گرفته تا PDF، HTML، OpenDocument و بسیاری از قالبهای گرافیکی - پشتیبانی میکند و به شما امکان میدهد قراردادها، فاکتورها، گزارشها، بروشورهای بازاریابی یا هر سند سفارشی را بدون نصب هیچ نرمافزار شخص ثالثی روی سرورهای خود تولید کنید. تمام کارهای سنگین - تجزیه قالب، اتصال داده، رندر تصویر، تولید بارکد، ارزیابی فرمول و تبدیل فایل - در فضای ابری انجام میشود که نتایج ثابتی را در بین سیستمعاملها تضمین میکند و هزینههای زیرساخت را کاهش میدهد.
چرا از SDK Node.js استفاده کنیم؟
زمان اجرای بدون نصب - SDK یک پوشش نازک در اطراف رابط برنامهنویسی نرمافزاری Assembly Cloud REST است، بنابراین شما فقط به Node12+ و یک بسته npm نیاز دارید.
چند پلتفرمی - در ویندوز، macOS، لینوکس یا داخل کانتینرها به یک شکل کار میکند.
امن - تمام ارتباطات از طریق TLS رمزگذاری میشوند و احراز هویت با App SID و App Key شخصی شما انجام میشود.
مقیاسپذیر - سرویس ابری میتواند درخواستهای تک سندی و همچنین کارهای ادغام پستی دستهای با حجم بالا را مدیریت کند.
توسعهپذیر - میتوان از API یکسانی از هر زبانی که میتواند نقاط پایانی REST را فراخوانی کند، استفاده کرد. SDK Node.js به سادگی ساخت درخواست و مدیریت پاسخ را ساده میکند.
گردش کار معمول در یک برنامه Node.js
یک الگو (DOCX، PPTX و غیره) تهیه کنید که شامل فیلدهای placeholder و ساختارهای برنامهنویسی اختیاری مانند بلوکهای شرطی، حلقهها یا برچسبهای بارکد باشد.
یک منبع داده در XML یا JSON ایجاد کنید که مقادیری را که باید در الگو ادغام شوند، فراهم کند.
۳. قالب را با استفاده از متد uploadFile از SDK در فضای ذخیرهسازی ابری GroupDocs آپلود کنید.
۴. پیکربندی AssembleOptions - مسیر قالب، منبع داده، فرمت خروجی مورد نظر (PDF، DOCX، HTML، …) و هرگونه تنظیمات اضافی (مانند تولید بارکد، رنگ پسزمینه) را مشخص کنید.
۵. فراخوانی assembleDocument - SDK یک درخواست HTTP واحد ارسال میکند که فرآیند مونتاژ را در سرور آغاز میکند.
۶. فایل مونتاژ شده را به صورت یک آرایه بایتی دریافت کنید، آن را به صورت محلی ذخیره کنید یا مستقیماً به کلاینت ارسال کنید.
مثال زیر (که در بخش ویژگیهای بیشتر نشان داده شده است) هر یک از این مراحل را در یک قطعه کد فشرده و آماده برای تولید نشان میدهد.
قطعه کد زیر جریان کامل کار را نشان میدهد: آپلود یک قالب، خواندن یک فایل داده JSON، پیکربندی درخواست اسمبلی و دریافت سند اسمبلی شده.
مراحل
آپلود قالب DOCX در فضای ذخیرهسازی ابری GroupDocs.
خواندن فایل داده JSON که حاوی مقادیری است که باید ادغام شوند.
پیکربندی AssembleOptions - انتخاب فرمت خروجی و اتصال دادهها.
فراخوانی assembleDocument برای تولید گزارش.
ذخیره آرایه بایت بازگشتی به صورت PDF (یا هر فرمت پشتیبانی شده).
// با App SID و App Key خود جایگزین کنید.
const { AssemblyApi, AssembleDocumentRequest, AssembleOptions, TemplateFileInfo, model } = require("groupdocs-assembly-cloud");
const fs = require("fs");
const path = 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);