باز کردن ارائه‌ها در Node.js از طریق .NET

بررسی کلی

Aspose.Slides for Node.js via .NET فایل‌های ارائه PowerPoint و OpenDocument مانند PPTX، PPT و ODP را از مسیر فایل یا از یک Buffer در Node.js باز می‌کند. این مقاله هر دو روش را نشان می‌دهد، تعداد اسلایدها را می‌خواند و ارائه باز شده را در قالب دیگری ذخیره می‌کند.

مثال‌ها انتظار دارند که پرونده ارائه‌ای به نام sample.pptx در پوشه پروژه‌ای که در نصب تنظیم کرده‌اید موجود باشد. هر ارائه PowerPoint‌ای کار می‌کند. هر مثال را به صورت یک فایل .js در پوشه پروژه ذخیره کنید و با node از همان پوشه اجرا کنید.

باز کردن یک ارائه از فایل

برای باز کردن یک ارائه، مسیر آن را به سازنده Presentation پاس دهید. Aspose.Slides قالب را بر اساس محتوای فایل نه پسوند شناسایی می‌کند، بنابراین همان کد فایل‌های PPTX، PPT و ODP را باز می‌کند. مسیر نسبی نسبت به پوشه کاری فعلی که هنگام اجرای اسکریپت همان پوشه پروژه است، حل می‌شود.

const { Presentation } = require("aspose.slides.via.net");

const presentation = new Presentation("sample.pptx");
try {
    console.log("Slide count: " + presentation.slides.count);
} finally {
    presentation.dispose();
}

اسکریپت تعداد اسلایدهای موجود در sample.pptx را چاپ می‌کند، برای مثال Slide count: 9. خصوصیت count در مجموعه‌ی اسلایدها شامل اسلایدهای مخفی نیز می‌شود. همان‌طور که نشان داده شده، dispose را در یک بلوک finally صدا بزنید تا منابع .NET پشت ارائه حتی در صورت بروز خطا آزاد شوند.

باز کردن یک ارائه از Buffer

زمانی که ارائه از یک پایگاه داده، آپلود HTTP یا منبع دیگری که بایت‌ها را می‌دهد می‌آید، یک Buffer در Node.js را به عنوان آرگومان دوم سازنده پاس دهید و آرگومان اول را null قرار دهید. مثال زیر sample.pptx را به یک buffer می‌خواند تا به عنوان چنین منبعی عمل کند:

const fs = require("fs");
const { Presentation } = require("aspose.slides.via.net");

const presentationData = fs.readFileSync("sample.pptx");

const presentation = new Presentation(null, presentationData);
try {
    console.log("Slide count: " + presentation.slides.count);
} finally {
    presentation.dispose();
}

اسکریپت همان تعداد اسلاید را مانند مثال قبلی چاپ می‌کند. آرگومان دوم باید یک Buffer باشد. برای هر نوع دیگر، مانند Uint8Array، سازنده خطایی نمی‌دهد؛ به جای آن یک ارائه جدید با یک اسلاید خالی ایجاد می‌کند. ابتدا انواع باینری دیگر را با Buffer.from تبدیل کنید.

ذخیره یک ارائه در قالب دیگر

برای تبدیل یک ارائه به قالب ارائه دیگری، آن را باز کنید و با مقدار متفاوتی از SaveFormat ذخیره کنید. مثال زیر قالبی را که Aspose.Slides تشخیص داده است (خاصیت sourceFormat) چاپ می‌کند و ارائه را به‌صورت یک ارائه OpenDocument ذخیره می‌نماید:

const { Presentation, SaveFormat } = require("aspose.slides.via.net");

const presentation = new Presentation("sample.pptx");
try {
    console.log("Source format: " + presentation.sourceFormat);
    presentation.save("sample.odp", SaveFormat.Odp);
} finally {
    presentation.dispose();
}

اسکریپت Source format: Pptx را چاپ می‌کند و فایلی به نام sample.odp می‌نویسد که حاوی همان اسلایدهاست. sourceFormat می‌تواند Ppt، Pptx یا Odp برگرداند. برای ذخیره به‌صورت PDF یا به‌صورت تصویر، به Convert PowerPoint to PDF و Convert Slides to Images مراجعه کنید.

FAQ

چگونه یک ارائه محافظت شده با رمز عبور را باز کنم؟

یک شیء LoadOptions ایجاد کنید، خصوصیت password آن را تنظیم کنید و شی را به عنوان آرگومان سوم سازنده پاس دهید: new Presentation("protected.pptx", null, loadOptions). بدون رمز عبور صحیح، سازنده خطای Error می‌اندازد.

چرا سازنده یک Error با پیام خالی پرتاب می‌کند؟

زمانی که سازنده Presentation در .NET شکست می‌خورد، برای مثال به دلیل عدم وجود فایل، عدم صحت ارائه یا نیاز به رمز عبور متفاوت، جاوااسکریپت یک Error دریافت می‌کند که پیام آن خالی است. پیش از باز کردن یک فایل، وجود آن نسبت به پوشه کاری را بررسی کنید، برای مثال با fs.existsSync.

کدام قالب‌ها را می‌توانم باز کنم؟

قالب‌های ارائه PowerPoint و OpenDocument شامل PPT، PPTX، PPS، POT، POTX، PPTM، ODP، OTP و FODP.