تحويل PPT و PPTX إلى PDF في Python عبر Java [متضمنة الميزات المتقدمة]
نظرة عامة
تحويل عروض PowerPoint (PPT، PPTX، ODP، إلخ) إلى صيغة PDF في Python عبر Java يوفر عدة مزايا، بما في ذلك التوافق عبر الأجهزة المختلفة والحفاظ على تخطيط وتنسيق العرض التقديمي الخاص بك. يوضح هذا الدليل كيفية تحويل العروض إلى مستندات PDF، واستخدام خيارات مختلفة للتحكم في جودة الصورة، وتضمين الشرائح المخفية، وحماية ملفات PDF بكلمة مرور، واكتشاف استبدال الخطوط، واختيار شرائح محددة للتحويل، وتطبيق معايير الامتثال على المستندات الناتجة.
تحويلات PowerPoint إلى PDF
باستخدام Aspose.Slides، يمكنك تحويل العروض في الصيغ التالية إلى PDF:
- PPT
- PPTX
- ODP
لتحويل عرض تقديمي إلى PDF، قم بتمرير اسم الملف كمعامل إلى فئة Presentation ثم احفظ العرض كملف PDF باستخدام طريقة save. فئة Presentation تعرض طريقة save التي تُستخدم عادةً لتحويل عرض تقديمي إلى PDF.
Note
يُدرج Aspose.Slides for Python عبر Java معلومات واجهة برمجة التطبيقات ورقم الإصدار في المستندات الناتجة. على سبيل المثال، عند تحويل عرض تقديمي إلى PDF، يملأ Aspose.Slides حقل Application بـ “Aspose.Slides” وحقل PDF Producer بقيمة على الشكل “Aspose.Slides v XX.XX”. ملاحظة أنه لا يمكنك توجيه Aspose.Slides لتغيير أو إزالة هذه المعلومات من المستندات الناتجة.Aspose.Slides يسمح لك بتحويل:
- العروض الكاملة إلى PDF
- شرائح محددة من عرض تقديمي إلى PDF
يقوم Aspose.Slides بتصدير العروض إلى PDF، مما يضمن أن ملفات PDF الناتجة تطابق تقريبًا العروض الأصلية. يتم عرض العناصر والسمات بدقة في التحويل، بما في ذلك:
- الصور
- مربعات النص والأشكال
- تنسيق النص
- تنسيق الفقرات
- الروابط الفائقة
- الترويسات والتذييلات
- القوائم النقطية
- الجداول
تحويل PowerPoint إلى PDF
يستخدم التحويل القياسي إعدادات التصدير الافتراضية لملف PDF. استخدم الخيارات المخصصة عندما تحتاج إلى التحكم في جودة الصورة، محتوى الصفحة، أو امتثال PDF.
قم بتثبيت Aspose.Slides for Python via Java وبيئة تشغيل Java المتوافقة قبل تشغيل الأمثلة. كل مثال يقرأ presentation.pptx من دليل العمل الحالي؛ استبدله بملف PPT أو PPTX أو ODP الخاص بك. ابدأ الـ JVM مرة واحدة لكل عملية Python.
هذا الكود يحول عرضًا تقديميًا إلى PDF:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("presentation.pptx")
try:
presentation.save("presentation.pdf", SaveFormat.Pdf)
finally:
presentation.dispose()
Note
توفر Aspose محولًا مجانيًا على الإنترنت محول PowerPoint إلى PDF الذي يوضح عملية تحويل العرض إلى PDF. يمكنك إجراء اختبار باستخدام هذا المحول لتطبيق عملي للإجراء الموضح هنا.تحويل PowerPoint إلى PDF مع الخيارات
يوفر Aspose.Slides خيارات مخصصة—خصائص تحت فئة PdfOptions — التي تتيح لك تخصيص ملف PDF الناتج، قفل PDF بكلمة مرور، أو تحديد كيفية سير عملية التحويل.
تحويل PowerPoint إلى PDF مع خيارات مخصصة
باستخدام خيارات التحويل المخصصة، يمكنك تحديد إعداد الجودة المفضل للصور النقطية، تحديد طريقة معالجة ملفات الميتا، تعيين مستوى الضغط للنص، تكوين DPI للصور، وأكثر.
يبين مثال الشيفرة أدناه كيفية تحويل عرض PowerPoint إلى PDF مع عدة خيارات مخصصة.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import PdfCompliance, PdfOptions, PdfTextCompression, Presentation, SaveFormat
presentation = Presentation("presentation.pptx")
try:
pdf_options = PdfOptions()
pdf_options.setJpegQuality(jpype.JByte(90))
pdf_options.setSufficientResolution(300)
pdf_options.setSaveMetafilesAsPng(True)
pdf_options.setTextCompression(PdfTextCompression.Flate)
pdf_options.setCompliance(PdfCompliance.Pdf15)
presentation.save("presentation-custom.pdf", SaveFormat.Pdf, pdf_options)
finally:
presentation.dispose()
تحويل PowerPoint إلى PDF مع الشرائح المخفية
إذا كان العرض يحتوي على شرائح مخفية، يمكنك استخدام طريقة setShowHiddenSlides من فئة PdfOptions لتضمين الشرائح المخفية كصفحات في ملف PDF الناتج.
هذا الكود يوضح كيفية تحويل عرض PowerPoint إلى PDF مع تضمين الشرائح المخفية:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import PdfOptions, Presentation, SaveFormat
presentation = Presentation("presentation.pptx")
try:
pdf_options = PdfOptions()
pdf_options.setShowHiddenSlides(True)
presentation.save("presentation-hidden-slides.pdf", SaveFormat.Pdf, pdf_options)
finally:
presentation.dispose()
تحويل PowerPoint إلى PDF محمي بكلمة مرور
هذا الكود يوضح كيفية تحويل عرض PowerPoint إلى PDF محمي بكلمة مرور باستخدام معلمات الحماية من فئة PdfOptions:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import PdfAccessPermissions, PdfOptions, Presentation, SaveFormat
presentation = Presentation("presentation.pptx")
try:
pdf_options = PdfOptions()
pdf_options.setPassword("password")
permissions = PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint
pdf_options.setAccessPermissions(permissions)
presentation.save("presentation-protected.pdf", SaveFormat.Pdf, pdf_options)
finally:
presentation.dispose()
اكتشاف استبدال الخطوط
يوفر Aspose.Slides طريقة setWarningCallback ضمن فئة PdfOptions، مما يتيح لك اكتشاف استبدال الخطوط أثناء عملية تحويل العرض إلى PDF.
استخدم وكيل JPype لتلقي ردود التحذير من واجهة برمجة تطبيقات Java. حوّل سلسلة الوصف من Java إلى سلسلة Python قبل فحص البادئة الخاصة بها:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import PdfOptions, Presentation, ReturnAction, SaveFormat, WarningType
class FontSubstitutionHandler:
def warning(self, warning):
description = str(warning.getDescription())
if warning.getWarningType() == WarningType.DataLoss and description.startswith("Font will be substituted"):
print(f"Font substitution warning: {description}")
return ReturnAction.Continue
presentation = Presentation("presentation.pptx")
try:
handler = FontSubstitutionHandler()
callback = jpype.JProxy("com.aspose.slides.IWarningCallback", inst=handler)
pdf_options = PdfOptions()
pdf_options.setWarningCallback(callback)
presentation.save("presentation-font-warnings.pdf", SaveFormat.Pdf, pdf_options)
finally:
presentation.dispose()
Note
لمزيد من المعلومات حول تلقي ردود التحذير لاستبدال الخطوط أثناء عملية العرض، راجع Getting Warning Callbacks for Font Substitution.
لمزيد من المعلومات حول استبدال الخطوط، اطلع على مقالة Font Substitution.
تحويل الشرائح المحددة في PowerPoint إلى PDF
أرقام الشرائح التي يتم تمريرها إلى Presentation.save تبدأ من 1. هذا المثال يصدر الشرائح 1 و3 عندما تكون موجودة:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("presentation.pptx")
try:
if presentation.getSlides().size() >= 3:
slide_numbers = jpype.JArray(jpype.JInt)([1, 3])
presentation.save("presentation-selected-slides.pdf", slide_numbers, SaveFormat.Pdf)
else:
print("The presentation must contain at least three slides.")
finally:
presentation.dispose()
تحويل PowerPoint إلى PDF بحجم شريحة مخصص
هذا المثال يصدر الشريحة الأولى على صفحة قياسها 612 × 792 نقطة (US Letter). ينسخ الشريحة إلى عرض تقديمي جديد بالحجم المحدد:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, SlideSizeScaleType
presentation = Presentation("presentation.pptx")
try:
resized_presentation = Presentation()
try:
resized_presentation.getSlideSize().setSize(612.0, 792.0, SlideSizeScaleType.EnsureFit)
if presentation.getSlides().size() > 0:
slide = presentation.getSlides().get_Item(0)
resized_presentation.getSlides().insertClone(0, slide)
resized_presentation.getSlides().removeAt(1)
resized_presentation.save("presentation-custom-size.pdf", SaveFormat.Pdf)
else:
print("The presentation contains no slides.")
finally:
resized_presentation.dispose()
finally:
presentation.dispose()
تحويل PowerPoint إلى PDF في وضع شريحة الملاحظات
هذا الكود يوضح كيفية تحويل عرض PowerPoint إلى PDF يتضمن الملاحظات:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import NotesCommentsLayoutingOptions, NotesPositions, PdfOptions, Presentation, SaveFormat
presentation = Presentation("presentation.pptx")
try:
notes_options = NotesCommentsLayoutingOptions()
notes_options.setNotesPosition(NotesPositions.BottomFull)
pdf_options = PdfOptions()
pdf_options.setSlidesLayoutOptions(notes_options)
presentation.save("presentation-with-notes.pdf", SaveFormat.Pdf, pdf_options)
finally:
presentation.dispose()
معايير الوصول والامتثال لملفات PDF
عند إعداد ملفات PDF قابلة للوصول، راجع Web Content Accessibility Guidelines (WCAG). استخدم PdfOptions.setCompliance لتحديد معيار الإخراج: PDF/A1a، PDF/A1b، وPDF/UA.
هذا الكود يوضح عملية تحويل PowerPoint إلى PDF تُنتج عدة ملفات PDF بناءً على معايير امتثال مختلفة:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import PdfCompliance, PdfOptions, Presentation, SaveFormat
presentation = Presentation("presentation.pptx")
try:
pdf_options = PdfOptions()
pdf_options.setCompliance(PdfCompliance.PdfA1a)
presentation.save("presentation-a1a.pdf", SaveFormat.Pdf, pdf_options)
pdf_options.setCompliance(PdfCompliance.PdfA1b)
presentation.save("presentation-a1b.pdf", SaveFormat.Pdf, pdf_options)
pdf_options.setCompliance(PdfCompliance.PdfUa)
presentation.save("presentation-ua.pdf", SaveFormat.Pdf, pdf_options)
finally:
presentation.dispose()
ملاحظة: عند التصدير إلى PDF/UA، يتعامل Aspose.Slides مع الرسومات المعقدة مثل SmartArt والرسوم البيانية والصيغ ككائن واحد. لا يتم الحفاظ على عناصر المسار الفردية كمحتوى منفصل وقد يتم وضع علامة عليها كآثار؛ يتم توفير النص البديل فقط للكائن الكامل.
الأسئلة الشائعة
هل يمكنني تحويل عدة ملفات PowerPoint إلى PDF مجمّعة؟
نعم، يدعم Aspose.Slides تحويل دفعة من عدة ملفات PPT أو PPTX إلى PDF. يمكنك تكرار ملفاتك وتطبيق عملية التحويل برمجيًا.
هل يمكن حماية PDF المحول بكلمة مرور؟
نعم. استخدم فئة PdfOptions لتعيين كلمة مرور وتحديد أذونات الوصول أثناء عملية التحويل.
كيف يمكنني تضمين الشرائح المخفية في PDF؟
استخدم طريقة setShowHiddenSlides في فئة PdfOptions لتضمين الشرائح المخفية في PDF الناتج.
هل يمكن لـ Aspose.Slides الحفاظ على جودة صورة عالية في PDF؟
نعم، يمكنك التحكم في جودة الصورة باستخدام طرق مثل setJpegQuality و setSufficientResolution في فئة PdfOptions لضمان صور عالية الجودة في PDF الخاص بك.
هل يدعم Aspose.Slides معايير امتثال PDF/A؟
نعم، يتيح Aspose.Slides تصدير ملفات PDF متوافقة مع various standards، بما في ذلك PDF/A1a، PDF/A1b، وPDF/UA، للوصول أو الأرشفة. اختر المعيار المناسب وراجع النتيجة وفقًا لاحتياجاتك.