تحويل PPT و PPTX إلى PDF في PHP [الميزات المتقدمة مشمولة]
نظرة عامة
تحويل عروض PowerPoint (PPT و PPTX و ODP وما إلى ذلك) إلى تنسيق PDF في PHP يوفر عدة مزايا، بما في ذلك التوافق عبر الأجهزة المختلفة والحفاظ على تخطيط وتنسيق عرضك. يوضح هذا الدليل كيفية تحويل العروض إلى مستندات PDF، واستخدام خيارات مختلفة للتحكم في جودة الصور، وتضمين الشرائح المخفية، وحprotect ملفات PDF بكلمة مرور، واكتشاف استبدال الخطوط، واختيار شرائح محددة للتحويل، وتطبيق معايير الامتثال على المستندات الناتجة.
تحويل PowerPoint إلى PDF
باستخدام Aspose.Slides، يمكنك تحويل العروض بالتنسيقات التالية إلى PDF:
- PPT
- PPTX
- ODP
لتحويل عرض تقديمي إلى PDF، مرّر اسم الملف كمعامل إلى الفئة Presentation ثم احفظ العرض كملف PDF باستخدام طريقة save. تُظهر فئة Presentation طريقة save التي تُستخدم عادةً لتحويل عرض تقديمي إلى PDF.
Note
يضيف Aspose.Slides for PHP via Java معلومات واجهة برمجة التطبيقات ورقم الإصدار إلى المستندات الناتجة. على سبيل المثال، عند تحويل عرض تقديمي إلى PDF، يقوم Aspose.Slides بملء حقل التطبيق بـ “Aspose.Slides” وحقل منتج PDF بقيمة بصيغة “Aspose.Slides v XX.XX”. ملاحظة أنك لا تستطيع إرشاد Aspose.Slides لتغيير أو إزالة هذه المعلومات من المستندات الناتجة.يسمح لك Aspose.Slides بالتحويل:
- العروض الكاملة إلى PDF
- شرائح محددة من عرض تقديمي إلى PDF
يصدّر Aspose.Slides العروض إلى PDF، مما يضمن أن ملفات PDF الناتجة تتطابق تقريبًا مع العروض الأصلية. يتم عرض العناصر والسمات بدقة أثناء التحويل، بما في ذلك:
- الصور
- صناديق النص والأشكال
- تنسيق النص
- تنسيق الفقرة
- الارتباطات التشعبية
- الترويسات والتذييلات
- القوائم النقطية
- الجداول
تحويل PowerPoint إلى PDF
تستخدم عملية التحويل القياسية من PowerPoint إلى PDF الخيارات الافتراضية. في هذه الحالة، يحاول Aspose.Slides تحويل العرض المقدم إلى PDF باستخدام إعدادات مثالية بأعلى مستويات الجودة.
يعرض المثال التالي كيفية تحميل عرض وت保存 جميع الشرائح المرئية إلى PDF باستخدام إعدادات التصدير الافتراضية.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PPT-to-PDF.pdf", SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
Note
توفر Aspose محولًا مجانيًا عبر الإنترنت لـ محول PowerPoint إلى PDF يوضح عملية التحويل من العرض إلى PDF. يمكنك تشغيل اختبار باستخدام هذا المحول لتطبيق حي للإجراء الموصوف هنا.تحويل PowerPoint إلى PDF مع الخيارات
يوفر Aspose.Slides خيارات مخصصة — خصائص تحت فئة PdfOptions — والتي تتيح لك تخصيص PDF الناتج، قفل PDF بكلمة مرور، أو تحديد كيفية تقدم عملية التحويل.
تحويل PowerPoint إلى PDF مع خيارات مخصصة
باستخدام خيارات التحويل المخصصة، يمكنك تحديد إعداد الجودة المفضلة للصور النقطية، وتحديد كيفية معالجة ملفات الميتا، وتعيين مستوى ضغط للنص، وتكوين DPI للصور، وأكثر.
يعرض المثال التالي كيفية تصدير عرض إلى PDF 1.5 مع جودة JPEG مضبوطة على 90، ودقة الصورة مضبوطة على 300 DPI، وحفظ ملفات الميتا كـ PNG، وضغط نص Flate.
use aspose\slides\PdfCompliance;
use aspose\slides\PdfOptions;
use aspose\slides\PdfTextCompression;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setJpegQuality(90);
$pdfOptions->setSufficientResolution(300);
$pdfOptions->setSaveMetafilesAsPng(true);
$pdfOptions->setTextCompression(PdfTextCompression::Flate);
$pdfOptions->setCompliance(PdfCompliance::Pdf15);
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
اختيار ضغط الصور تلقائيًا
عندما يحتوي العرض على العديد من الصور الفوتوغرافية أو لقطات الشاشة، يمكن أن يقلل تقليل حجم PDF المصدّر من صعوبة إرساله عبر البريد الإلكتروني أو تنزيله. استدعِ PdfOptions::setBestImagesCompressionRatio مع true لتحديد خوارزمية الضغط الأنسب لكل صورة تلقائيًا أثناء تصدير PDF.
يعرض المثال التالي كيفية تحميل عرض موجود، وتمكين اختيار ضغط الصور تلقائيًا، وحفظه كمستند PDF. تحتفظ جميع إعدادات تصدير PDF الأخرى بقيمها الافتراضية.
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setBestImagesCompressionRatio(true);
$presentation = new Presentation("image-heavy.pptx");
try {
$presentation->save("image-heavy.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
تختار هذه الخيار خوارزمية ضغط لكل صورة. خفض القيمة المُمرَّرة إلى setJpegQuality يقلل بدلاً من ذلك من جودة صورة JPEG، بينما خفض القيمة المُمرَّرة إلى setSufficientResolution يسمح بتمثيل الصور بدقة أقل، مما قد يقلل التفاصيل. لا يؤدي تمكين اختيار الضغط التلقائي بحد ذاته إلى خفض أي من هذين الإعدادين.
يتطلب اختيار خوارزميات ضغط الصور وقت معالجة إضافي وذاكرة. يعتمد تقليل الحجم على صور العرض وإعدادات التصدير؛ لا يُضمن تقليل ثابت لكل عرض.
الحفاظ على ملفات OLE المضمنة كمرفقات PDF
إذا كان العرض يحتوي على دفتر عمل Excel مدمج، قد ترغب في أن يتمكن مستلمو PDF من الوصول إلى بيانات دفتر العمل بالإضافة إلى عرض الشرائح. استدعِ setIncludeOleData مع true للحفاظ على ملفات OLE المضمنة كمرفقات في PDF الناتج.
القيمة الافتراضية هي false: يتم عرض صورة المعاينة أو أيقونة كائن OLE على صفحة PDF، لكن ملفه المضمن لا يُضمّن كمرفق. ضبط الخيار على true يضيف بيانات الملف أيضًا. تظل المعاينة تمثيلًا بصريًا؛ يسمح المرفق للمستلمين بفتح أو حفظ الملف المضمن بشكل منفصل. لا يتحول كائن OLE إلى ورقة عمل Excel تفاعلية على صفحة PDF.
يعرض المثال التالي كيفية تحميل عرض يحتوي بالفعل على دفتر عمل Excel مدمج وتصديره إلى PDF مع إرفاق دفتر العمل.
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setIncludeOleData(true);
$presentation = new Presentation("presentation.pptx");
try {
$presentation->save("presentation.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
للتحقق من النتيجة:
- افتح ملف PDF المصدَّر في عارض يدعم المرفقات، مثل Adobe Acrobat Reader.
- افتح لوحة Attachments في العارض وحدد موقع دفتر العمل المدمج.
- احفظ المرفق وافتحه في Excel لاستعراض بياناته، أو افتحه مباشرة إذا سمح العارض بذلك. المعاينة على صفحة PDF منفصلة عن المرفق.
Note
تفرض معايير PDF/A قيودًا على المرفقات: يمنع PDF/A-1 الملفات المضمنة، ويُسمح في PDF/A-2 فقط بمرفقات PDF/A، ويسمح PDF/A-3 بأنواع ملفات أخرى، بما في ذلك دفاتر عمل Excel. هذه متطلبات المعايير، ليست قيودًا خاصة بـ Aspose.Slides. يستخدم هذا المثال إعداد الامتثال الافتراضي لـ PDF ولا يوضح تصدير PDF/A.تحويل PowerPoint إلى PDF مع الشرائح المخفية
إذا كان العرض يحتوي على شرائح مخفية، يمكنك استخدام طريقة setShowHiddenSlides من فئة PdfOptions لتضمين الشرائح المخفية كصفحات في PDF الناتج.
يعرض المثال التالي كيفية تصدير عرض إلى PDF، مع تضمين أي شرائح مخفية.
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setShowHiddenSlides(true);
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
تحويل PowerPoint إلى PDF محمي بكلمة مرور
يعرض المثال التالي كيفية تصدير عرض إلى PDF يتطلب كلمة المرور password للفتح. تسمح أذونات الوصول بالطباعة، بما في ذلك الطباعة عالية الجودة.
use aspose\slides\PdfAccessPermissions;
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setPassword("password");
$pdfOptions->setAccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PPTX-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
اكتشاف استبدال الخطوط
يوفر Aspose.Slides طريقة setWarningCallback ضمن فئة PdfOptions، مما يتيح لك اكتشاف استبدال الخطوط أثناء عملية تحويل العرض إلى PDF.
يعرض المثال التالي كيفية تصدير عرض إلى PDF وطباعة تحذيرات استبدال الخطوط إلى وحدة التحكم. يُطبع التحذير فقط عندما يتم استبدال خط غير متوفر أثناء التصدير.
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\ReturnAction;
use aspose\slides\SaveFormat;
use aspose\slides\WarningType;
class FontSubstitutionHandler {
function warning($warning)
{
if (java_values($warning->getWarningType()) == WarningType::DataLoss && $warning->getDescription()->startsWith("Font will be substituted")) {
echo("Font substitution warning: " . $warning->getDescription());
}
return ReturnAction::Continue;
}
}
$warningCallback = java_closure(new FontSubstitutionHandler(), null, java("com.aspose.slides.IWarningCallback"));
$pdfOptions = new PdfOptions();
$pdfOptions->setWarningCallback($warningCallback);
$presentation = new Presentation("sample.pptx");
try {
$presentation->save("output.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Note
لمزيد من المعلومات حول استبدال الخطوط، راجع مقالة Font Substitution.معالجة الخطوط التي لا تحتوي على نسخة غامقة مخصصة
يمكن للعرض تطبيق تنسيق غامق للنص حتى إذا لم يحتوي الخط على نسخة غامقة مخصصة. لا يزال يمكن أن يظهر النص غامقًا عبر الغموض الاصطناعي، الذي يزيد سماكة الأحرف العادية. عندما يبدو هذا النص ثقيلًا جدًا أو يختلف عن المظهر المقصود في PDF، جرّب استدعاء PdfOptions::setRasterizeUnsupportedFontStyles مع true. هذا الخيار يقوم برسم النص المتأثر كصورة نقطية أثناء تصدير PDF ويمكن أن يحسّن مظهره لبعض الخطوط. قيمته الافتراضية هي false.
يتضمن العرض النموذجي صندوقي نص: أحدهما بنص عادي والآخر بنص غامق مطبق على نفس الخط الذي لا يحتوي على نسخة غامقة مخصصة. يعرض المثال التالي كيفية تحميل العرض، وتمكين تحويل الأنماط الخطية غير المدعومة إلى صورة نقطية، وتصديره إلى PDF:
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setRasterizeUnsupportedFontStyles(true);
$presentation = new Presentation("unsupported-bold.pptx");
try {
$presentation->save("rasterized.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
تُظهر المعاينات التالية المخرجات مع تعطيل الخيار وتمكينه. في هذا المثال، يكون النص الغامق ذو خطوط أسمك عندما يكون الخيار معطلًا. عند تمكين الخيار، تصبح خطوطه أخف؛ النص العادي يبقى كما هو. قارن النتائج قبل اختيار الإعداد لعرضك.
الخيار معطل (false، الافتراضي) |
الخيار مفعل (true) |
|---|---|
![]() |
![]() |
في هذا المثال، يؤدي تمكين الخيار إلى تحويل النص الغامق فقط إلى صورة نقطية: لا يمكن تحديده أو نسخه أو البحث فيه كنص دون OCR، وتظهر حدوده أكثر نعومة عند تكبير 800٪. يظل النص العادي قابلًا للبحث. عند تعطيل الخيار، يظل كلا السلسلتين نصًا.
يقوم هذا الخيار بتحويل النص المنسق كغامق إلى صورة نقطية عندما لا يحتوي الخط على نسخة غامقة مخصصة. بدلاً من ذلك، تقوم Font substitution باختيار خط آخر عندما يكون الأصلي غير متوفر.
تحويل الشرائح المحددة من PowerPoint إلى PDF
يعرض المثال التالي كيفية تصدير الشرائح 1 و 3 من عرض إلى PDF. أرقام الشرائح في هذا المصفوفة تبدأ من 1، ويجب أن يحتوي العرض المدخل على ثلاث شرائح على الأقل.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation("PowerPoint.pptx");
try {
$slides = array(1, 3);
$presentation->save("PPTX-to-PDF.pdf", $slides, SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
تحويل PowerPoint إلى PDF بحجم شريحة مخصص
يعرض المثال التالي كيفية نسخ الشريحة الأولى من عرض إلى عرض جديد بحجم شريحة 612 × 792 نقطة (8.5 × 11 بوصة). يقوم بتقليل حجم محتوى الشريحة ليتناسب ويصدر الشريحة الواحدة إلى PDF.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\SlideSizeScaleType;
$slideWidth = 612.0;
$slideHeight = 792.0;
$presentation = new Presentation("SelectedSlides.pptx");
$resizedPresentation = new Presentation();
try {
$resizedPresentation->getSlideSize()->setSize($slideWidth, $slideHeight, SlideSizeScaleType::EnsureFit);
$slide = $presentation->getSlides()->get_Item(0);
$resizedPresentation->getSlides()->insertClone(0, $slide);
// إزالة الشريحة الفارغة التي تم إنشاء العرض الجديد بها.
$resizedPresentation->getSlides()->removeAt(1);
$resizedPresentation->save("PDF_with_custom_slide_size.pdf", SaveFormat::Pdf);
} finally {
$resizedPresentation->dispose();
$presentation->dispose();
}
تحويل PowerPoint إلى PDF في عرض ملاحظات الشريحة
يعرض المثال التالي كيفية تصدير عرض إلى PDF، مع وضع ملاحظات المتحدث لكل شريحة أسفل الشريحة. استخدم عرضًا يحتوي على ملاحظات المتحدث لرؤية النتيجة.
use aspose\slides\NotesCommentsLayoutingOptions;
use aspose\slides\NotesPositions;
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$notesOptions = new NotesCommentsLayoutingOptions();
$notesOptions->setNotesPosition(NotesPositions::BottomFull);
$pdfOptions = new PdfOptions();
$pdfOptions->setSlidesLayoutOptions($notesOptions);
$presentation = new Presentation("SelectedSlides.pptx");
try {
$presentation->save("PDF_with_notes.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
معايير الوصول والامتثال لـ PDF
يسمح لك Aspose.Slides باستخدام إجراء تحويل يتوافق مع Web Content Accessibility Guidelines (WCAG). يمكنك تصدير وثيقة PowerPoint إلى PDF باستخدام أي من معايير الامتثال هذه: PDF/A1a، PDF/A1b، و PDF/UA.
يوضح هذا الكود عملية تحويل PowerPoint إلى PDF تنتج ملفات PDF متعددة بناءً على معايير امتثال مختلفة:
$presentation = new Presentation("pres.pptx");
try {
$pdfOptions = new PdfOptions();
$pdfOptions->setCompliance(PdfCompliance::PdfA1a);
$presentation->save("pres-a1a-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
$pdfOptions->setCompliance(PdfCompliance::PdfA1b);
$presentation->save("pres-a1b-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
$pdfOptions->setCompliance(PdfCompliance::PdfUa);
$presentation->save("pres-ua-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Note
يدعم Aspose.Slides عمليات تحويل PDF، مما يتيح لك تحويل ملفات PDF إلى صيغ ملفات شائعة. يمكنك إجراء التحويلات PDF to HTML، PDF to image، PDF to JPG، وPDF to PNG. كما يتم دعم عمليات تحويل PDF إلى صيغ متخصصة — PDF to SVG، PDF to TIFF، وPDF to XML —.ملاحظة: عند التصدير إلى PDF/UA، يتعامل Aspose.Slides مع الرسومات المعقدة مثل SmartArt، والرسوم البيانية، والصيغ ككائن واحد. لا يتم الحفاظ على عناصر المسار الفردية كمحتوى منفصل وقد يتم تعليمها كآثار؛ يتم توفير النص البديل فقط للكائن بالكامل.
الأسئلة الشائعة
هل يمكنني تحويل عدة ملفات PowerPoint إلى PDF دفعيًا؟
نعم، يدعم Aspose.Slides التحويل الدفعي للعديد من ملفات PPT أو PPTX إلى PDF. يمكنك التكرار عبر ملفاتك وتطبيق عملية التحويل برمجيًا.
هل يمكن حماية PDF المحول بكلمة مرور؟
نعم. استخدم فئة PdfOptions لتعيين كلمة مرور وتحديد أذونات الوصول أثناء عملية التحويل.
كيف يمكنني تضمين الشرائح المخفية في PDF؟
استدعِ setShowHiddenSlides مع true في فئة PdfOptions لتضمين الشرائح المخفية في PDF الناتج.
هل يمكن لـ Aspose.Slides الحفاظ على جودة صور عالية في PDF؟
نعم، يمكنك التحكم في جودة الصور باستخدام طرق مثل setJpegQuality وsetSufficientResolution في فئة PdfOptions لضمان صور عالية الجودة في PDF الخاص بك.
هل يدعم Aspose.Slides معايير الامتثال PDF/A؟
نعم، يتيح لك Aspose.Slides تصدير ملفات PDF تتوافق مع various standards، بما في ذلك PDF/A1a، PDF/A1b، وPDF/UA، مما يضمن أن مستنداتك تلبي متطلبات الوصول والأرشفة.

