تحويل PowerPoint إلى PDF في Node.js عبر .NET

نظرة عامة

Aspose.Slides for Node.js via .NET يحول عروض PowerPoint وOpenDocument إلى PDF دون الحاجة إلى Microsoft PowerPoint. كل شريحة مرئية تصبح صفحة PDF واحدة بحجم الشريحة نفسه، ويظل النص قابلًا للتحديد والبحث. تُظهر هذه المقالة التحويل الافتراضي وتحويلًا إلى PDF/A باستخدام PdfOptions.

الأمثلة تتوقع وجود عرض تقديمي باسم sample.pptx في مجلد المشروع الذي قمت بإعداده في Installation. يمكن استخدام أي عرض PowerPoint. احفظ كل مثال كملف .js في مجلد المشروع وشغله من ذلك المجلد باستخدام node.

تحويل عرض تقديمي إلى PDF

لتحويل عرض تقديمي إلى PDF، اتبع الخطوات التالية:

  1. افتح العرض التقديمي بتمرير مساره إلى المُنشئ Presentation. نفس الكود يعمل مع ملفات PPTX وPPT وODP.
  2. استدعِ طريقة save مع مسار الإخراج وSaveFormat.Pdf.
  3. استدعِ dispose داخل كتلة finally لتحرير موارد .NET التي تدعم العرض التقديمي.
const { Presentation, SaveFormat } = require("aspose.slides.via.net");

const presentation = new Presentation("sample.pptx");
try {
    presentation.save("sample.pdf", SaveFormat.Pdf);
    console.log("Saved sample.pdf");
} finally {
    presentation.dispose();
}

النص البرمجي يكتب sample.pdf إلى مجلد المشروع. يستخدم التحويل الإعدادات الافتراضية: كل شريحة غير مخفية تصبح صفحة، وفق ترتيب الشرائح. بدون ترخيص، تُظهر كل صفحة علامة مائية لتقييم الترخيص؛ راجع Licensing.

تحويل عرض تقديمي إلى PDF/A

للتحكم في المخرجات، مرّر كائن PdfOptions كالمعامل الثالث في save. المثال التالي يضبط الخاصية compliance إلى PdfCompliance.PdfA2b، مما يُنتج ملف PDF/A-2b. PDF/A هو المعيار ISO للأرشفة طويلة الأمد: من بين قواعد أخرى، يتطلب تضمين كل خط يستخدمه المستند داخل الملف.

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

const pdfOptions = new PdfOptions();
pdfOptions.compliance = PdfCompliance.PdfA2b;

const presentation = new Presentation("sample.pptx");
try {
    presentation.save("sample-pdfa.pdf", SaveFormat.Pdf, pdfOptions);
    console.log("Saved sample-pdfa.pdf");
} finally {
    presentation.dispose();
}

النص البرمجي يكتب sample-pdfa.pdf بنفس الصفحات التي ينتجها التحويل الافتراضي. لتأكيد أن الملف يطابق المعيار، افحصه باستخدام أداة تحقق PDF/A مثل veraPDF. قيم أخرى من PdfCompliance تختار معايير أخرى، مثل PdfA1b أو PdfA2a أو PdfUa لإمكانية الوصول.

FAQ

كيف يمكنني تضمين الشرائح المخفية في PDF؟

الشرائح المخفية تُتخطى بشكل افتراضي. اضبط خاصية showHiddenSlides لـ PdfOptions إلى true ومرّر الخيارات إلى save.

هل يمكنني حماية PDF بكلمة مرور؟

نعم. اضبط خاصية password لـ PdfOptions قبل استدعاء save. ثم يطلب قارئ PDF كلمة المرور قبل فتح الملف.

هل يمكنني تحويل بعض الشرائح فقط؟

نعم. مرّر مصفوفة من مواضع الشرائح كمُعامل رابع في save. المواضع تبدأ من 1، ويمكن أن يكون المُعامل الثالث null إذا لم تحتاج إلى خيارات: presentation.save("selected.pdf", SaveFormat.Pdf, null, [1, 3]) يكتب PDF يحتوي على الشريحة الأولى والثالثة.

لماذا يبدو النص مختلفًا عند التحويل على لينكس؟

Aspose.Slides يمكنه فقط استخدام الخطوط المثبتة على الجهاز الذي يُجري التحويل. عندما يستخدم العرض تقديمي خطًا غير موجود، مثل Calibri على خادم لينكس شائع، يستخدم Aspose.Slides خطًا مثبتًا بدلاً منه، مما قد يغيّر مظهر النص ومكان فواصل الأسطر. قم بتثبيت الخطوط التي تستخدمها عروضك لت obten نفس النتيجة كما على ويندوز.

هل يمكنني الحصول على PDF كـ Buffer بدلاً من ملف؟

نعم. presentation.saveToBuffer(SaveFormat.Pdf) تُعيد PDF ككائن Buffer في Node.js، وهو مناسب عندما ترسل النتيجة في استجابة HTTP. كما يقبل PdfOptions كمُعامل ثاني.