کیت توسعه نرم‌افزار Node.js برای مونتاژ اسناد و تولید گزارش

با استفاده از GroupDocs.Assembly Cloud REST API، قابلیت‌های قدرتمند اسمبلی اسناد را در برنامه‌های Node خود ادغام کنید.

  • GroupDocs.Assembly Cloud SDK for cURL
  • GroupDocs.Assembly Cloud SDK for .NET
  • GroupDocs.Assembly Cloud SDK for Java
  • GroupDocs.Assembly Cloud SDK for PHP
  • GroupDocs.Assembly Cloud SDK for Python
  • GroupDocs.Assembly Cloud SDK for Ruby
  • GroupDocs.Assembly Cloud SDK for Go
  • GroupDocs.Assembly Cloud SDK for C++
  • GroupDocs.Assembly Cloud SDK for Swift
آزمایش رایگان را شروع کنید

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

  1. یک الگو (DOCX، PPTX و غیره) تهیه کنید که شامل فیلدهای placeholder و ساختارهای برنامه‌نویسی اختیاری مانند بلوک‌های شرطی، حلقه‌ها یا برچسب‌های بارکد باشد.

  2. یک منبع داده در XML یا JSON ایجاد کنید که مقادیری را که باید در الگو ادغام شوند، فراهم کند.

۳. قالب را با استفاده از متد uploadFile از SDK در فضای ذخیره‌سازی ابری GroupDocs آپلود کنید.

۴. پیکربندی AssembleOptions - مسیر قالب، منبع داده، فرمت خروجی مورد نظر (PDF، DOCX، HTML، …) و هرگونه تنظیمات اضافی (مانند تولید بارکد، رنگ پس‌زمینه) را مشخص کنید.

۵. فراخوانی assembleDocument - SDK یک درخواست HTTP واحد ارسال می‌کند که فرآیند مونتاژ را در سرور آغاز می‌کند.

۶. فایل مونتاژ شده را به صورت یک آرایه بایتی دریافت کنید، آن را به صورت محلی ذخیره کنید یا مستقیماً به کلاینت ارسال کنید.

مثال زیر (که در بخش ویژگی‌های بیشتر نشان داده شده است) هر یک از این مراحل را در یک قطعه کد فشرده و آماده برای تولید نشان می‌دهد.

ویژگی‌های API ابری GroupDocs.Assembly

تولید اسناد از قالب‌ها با استفاده از API REST ابری

اتصال داده به سبک LINQ برای منابع XML و JSON

تصاویر، نمودارها و محتوای سند خارجی را وارد کنید

جداول و لیست‌های پویا از داده‌های آرایه‌ای

اضافه کردن هایپرلینک، بوکمارک و پیوست ایمیل

اعمال فرمول‌ها و عملیات متوالی روی داده‌ها

بلوک‌های محتوای شرطی (IF‑ELSE) در قالب‌ها

تولید بارکد (QR، Code128 و غیره)

تنظیم رنگ‌های پس‌زمینه برای خروجی HTML

ادغام ایمیل برای نامه‌های شخصی‌سازی‌شده‌ی دسته‌ای

ایجاد گزارش در Node.js

قطعه کد زیر جریان کامل کار را نشان می‌دهد: آپلود یک قالب، خواندن یک فایل داده JSON، پیکربندی درخواست اسمبلی و دریافت سند اسمبلی شده.

مراحل

  1. آپلود قالب DOCX در فضای ذخیره‌سازی ابری GroupDocs.

  2. خواندن فایل داده JSON که حاوی مقادیری است که باید ادغام شوند.

  3. پیکربندی AssembleOptions - انتخاب فرمت خروجی و اتصال داده‌ها.

  4. فراخوانی assembleDocument برای تولید گزارش.

  5. ذخیره آرایه بایت بازگشتی به صورت 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);

Support and Learning Resources

GroupDocs.Assembly Cloud همچنین SDK هایی را برای زبان های دیگر ارائه می دهد:

  فارسی