تبدیل PPT & PPTX به PDF در Python | گزینه‌های پیشرفته

مروری کلی

تبدیل ارائه‌های PowerPoint (PPT، PPTX، ODP) به فرمت PDF در پایتون مزایای متعددی دارد، از جمله اطمینان از سازگاری در دستگاه‌های مختلف و حفظ طرح‌بندی و قالب‌بندی ارائه شما. این راهنما نشان می‌دهد چگونه ارائه‌ها را به اسناد PDF تبدیل کنید، از گزینه‌های مختلف برای کنترل کیفیت تصویر استفاده کنید، اسلایدهای مخفی را شامل شوید، اسناد PDF را با رمز عبور محافظت کنید، تعویض فونت‌ها را شناسایی کنید، اسلایدهای خاصی را برای تبدیل انتخاب کنید، و استانداردهای انطباق را بر اسناد خروجی اعمال کنید.

تبدیل‌های PowerPoint به PDF

  • PPT
  • PPTX
  • ODP

برای تبدیل یک ارائه به PDF در پایتون، کافی است نام فایل را به عنوان آرگومان به کلاس Presentation پاس دهید و سپس با استفاده از متد save ارائه را به‌صورت PDF ذخیره کنید. کلاس Presentation متد save را در اختیار می‌گذارد که معمولاً برای تبدیل یک ارائه به PDF استفاده می‌شود.

Aspose.Slides به شما اجازه می‌دهد تا:

  • کل ارائه‌ها را به PDF تبدیل کنید
  • اسلایدهای خاصی در یک ارائه را به PDF تبدیل کنید

Aspose.Slides ارائه‌ها را به PDF صادر می‌کند و محتوای PDF‌های حاصل را بسیار نزدیک به ارائه‌های اصلی نگه می‌دارد. عناصر و ویژگی‌ها به‌دقت در تبدیل رندر می‌شوند، از جمله:

  • تصاویر
  • جعبه‌های متن و شکل‌ها
  • قالب‌بندی متن
  • قالب‌بندی پاراگراف
  • پیوندها
  • سرصفحه و پاصفحه
  • نقطه‌گذاری
  • جدول‌ها

تبدیل PowerPoint به PDF

فرآیند استاندارد تبدیل PowerPoint به PDF از گزینه‌های پیش‌فرض استفاده می‌کند. در این حالت، Aspose.Slides سعی می‌کند ارائه ارائه‌شده را به PDF با تنظیمات بهینه و در بالاترین سطوح کیفیت تبدیل کند.

مثال زیر یک ارائه را بارگذاری می‌کند و تمام اسلایدهای قابل مشاهده را با استفاده از تنظیمات پیش‌فرض خروجی به PDF ذخیره می‌کند.

import aspose.slides as slides

with slides.Presentation("PowerPoint.ppt") as presentation:
    presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF)

تبدیل PowerPoint به PDF با گزینه‌ها

Aspose.Slides گزینه‌های سفارشی—خصوصیات زیر کلاس PdfOptions—را فراهم می‌کند که به شما اجازه می‌دهد PDF حاصل از فرآیند تبدیل را سفارشی کنید، PDF را با رمز عبور قفل کنید، یا حتی نحوه اجرای فرآیند تبدیل را تعیین کنید.

تبدیل PowerPoint به PDF با گزینه‌های سفارشی

با استفاده از گزینه‌های تبدیل سفارشی، می‌توانید تنظیم کیفیت دلخواه خود برای تصاویر رستر، نحوه پردازش متافایل‌ها، سطح فشرده‌سازی متن، DPI تصاویر و موارد دیگر را تنظیم کنید.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.jpeg_quality = 90
pdf_options.sufficient_resolution = 300
pdf_options.save_metafiles_as_png = True
pdf_options.text_compression = slides.export.PdfTextCompression.FLATE
pdf_options.compliance = slides.export.PdfCompliance.PDF15

with slides.Presentation("PowerPoint.pptx") as presentation:
    presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

حفظ فایل‌های OLE نهفته به‌عنوان پیوست‌های PDF

اگر یک ارائه حاوی کتاب کار Excel نهفته باشد، ممکن است بخواهید دریافت‌کنندگان PDF به داده‌های کتاب کار دسترسی داشته باشند و اسلایدها را نیز ببینند. برای حفظ فایل‌های OLE نهفته به‌عنوان پیوست‌ها در PDF حاصل، PdfOptions.include_ole_data را به True تنظیم کنید.

مقدار پیش‌فرض False است: تصویر پیش‌نمایش یا آیکون شیء OLE بر روی صفحه PDF رندر می‌شود، اما فایل نهفته به‌عنوان پیوست شامل نمی‌شود. تنظیم این گزینه به True علاوه بر آن داده فایل را نیز شامل می‌شود. پیش‌نمایش به‌عنوان نمایش تصویری باقی می‌ماند؛ پیوست به دریافت‌کنندگان امکان می‌دهد فایل نهفته را جداگانه باز یا ذخیره کنند. شیء OLE تبدیل به یک برگه کار تعاملی Excel در صفحه PDF نمی‌شود.

مثال زیر یک ارائه را که قبلاً شامل کتاب کار Excel نهفته است بارگذاری می‌کند و آن را به PDF با پیوست کتاب کار صادر می‌کند.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.include_ole_data = True

with slides.Presentation("presentation.pptx") as presentation:
    presentation.save("presentation.pdf", slides.export.SaveFormat.PDF, pdf_options)

برای بررسی نتیجه:

  1. PDF صادرشده را در یک نمایشگر که از پیوست‌های فایل پشتیبانی می‌کند، مانند Adobe Acrobat Reader، باز کنید.
  2. پنل Attachments نمایشگر را باز کنید و کتاب کار نهفته را پیدا کنید.
  3. پیوست را ذخیره کرده و در Excel باز کنید تا داده‌های آن را بررسی کنید، یا اگر نمایشگر اجازه دهد مستقیماً باز کنید. پیش‌نمایش در صفحه PDF جدا از پیوست است.

تبدیل PowerPoint به PDF با اسلایدهای مخفی

اگر یک ارائه شامل اسلایدهای مخفی باشد، می‌توانید از گزینه سفارشی—خاصیت show_hidden_slides از کلاس PdfOptions—استفاده کنید تا Aspose.Slides را هدایت کنید اسلایدهای مخفی را به‌عنوان صفحات در PDF حاصل شامل کند.

مثال زیر یک ارائه را به PDF صادر می‌کند که اسلایدهای مخفی را نیز شامل می‌شود.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.show_hidden_slides = True

with slides.Presentation("PowerPoint.pptx") as presentation:
    presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

تبدیل PowerPoint به PDF حفاظت‌شده با رمز عبور

مثال زیر یک ارائه را به PDF صادر می‌کند که برای باز شدن به رمز عبور password نیاز دارد. مجوزهای دسترسی چاپ، از جمله چاپ با کیفیت بالا، را مجاز می‌سازند.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.password = "password"
pdf_options.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT

with slides.Presentation("PowerPoint.pptx") as presentation:
    presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

مدیریت فونت‌ها بدون نوع بولد اختصاصی

یک ارائه می‌تواند قالب‌بندی بولد را بر روی متن اعمال کند حتی اگر فونت آن نوع بولد اختصاصی نداشته باشد. متن می‌تواند از طریق بولدسازی مصنوعی که گلیف‌های معمولی را به‌صورت مصنوعی ضخیم می‌کند، بولد به‌نظر برسد. وقتی این متن بیش از حد سنگین به‌نظر می‌رسد یا از ظاهر موردنظر در PDF متفاوت است، سعی کنید PdfOptions.rasterize_unsupported_font_styles را به True تنظیم کنید. این گزینه متن تحت تأثیر را به‌عنوان یک بیت‌مپ هنگام خروجی PDF رندر می‌کند و می‌تواند ظاهر آن را برای برخی فونت‌ها بهبود بخشد. مقدار پیش‌فرض آن False است.

نمایش نمونه شامل دو جعبه متن است: یکی با متن عادی و دیگری با قالب‌بندی بولد اعمال‌شده بر همان فونت که نوع بولد اختصاصی ندارد. مثال زیر ارائه را بارگذاری می‌کند، رسترسازی سبک‌های فونت پشتیبانی‌نشده را فعال می‌کند و آن را به PDF صادر می‌نماید:

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.rasterize_unsupported_font_styles = True

with slides.Presentation("unsupported-bold.pptx") as presentation:
    presentation.save("rasterized.pdf", slides.export.SaveFormat.PDF, pdf_options)

پیشنمایش‌های زیر خروجی غیرفعال و فعال را نشان می‌دهند. در این مثال، متن بولد با گزینه غیرفعال خطوط ضخیم‌تری دارد. با فعال‌کردن گزینه، خطوط آن سبک‌تر می‌شوند؛ متن عادی بدون تغییر باقی می‌ماند. قبل از انتخاب تنظیم برای ارائه خود، نتایج را مقایسه کنید.

گزینه غیرفعال (False، پیش‌فرض) گزینه فعال (True)
PDF با رسترسازی سبک فونت پشتیبانی‌نشده غیرفعال PDF با رسترسازی سبک فونت پشتیبانی‌نشده فعال

در این مثال، فعال‌سازی گزینه فقط متن بولد را به بیت‌مپ تبدیل می‌کند: این متن نمی‌تواند بدون OCR انتخاب، کپی یا جستجو شود و لبه‌های آن در زوم 800٪ نرم‌تر به‌نظر می‌رسند. متن عادی همچنان قابل جستجو می‌ماند. با غیرفعال‌کردن گزینه، هر دو رشته به‌عنوان متن باقی می‌مانند.

این گزینه متن قالب‌بندی‌شده به‌صورت بولد را زمانی که فونت آن نوع بولد اختصاصی ندارد، رستر می‌کند. Font substitution به‌جای آن زمانی که فونت اصلی در دسترس نباشد، فونت دیگری را انتخاب می‌کند.

تبدیل اسلایدهای انتخاب‌شده در PowerPoint به PDF

مثال زیر اسلایدهای 1 و 3 را از یک ارائه به PDF صادر می‌کند. اعداد اسلایدها در این آرایه از 1 شروع می‌شوند و ارائه ورودی باید حداقل سه اسلاید داشته باشد.

import aspose.slides as slides

with slides.Presentation("PowerPoint.pptx") as presentation:
    slide_numbers = [1, 3]
    presentation.save("PPTX-to-PDF.pdf", slide_numbers, slides.export.SaveFormat.PDF)

تبدیل PowerPoint به PDF با اندازه اسلاید سفارشی

مثال زیر اسلاید اول را از یک ارائه به یک ارائه جدید با اندازه اسلاید 612 × 792 نقطه (8.5 × 11 اینچ) کپی می‌کند. محتوای اسلاید را برای جابه‌جایی مقیاس می‌دهد و اسلاید منفرد را به PDF صادر می‌کند.

import aspose.slides as slides

slide_width = 612
slide_height = 792

with slides.Presentation("SelectedSlides.pptx") as presentation:
    with slides.Presentation() as resized_presentation:
        resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT)
        slide = presentation.slides[0]
        resized_presentation.slides.insert_clone(0, slide)

        # حذف اسلاید خالی که ارائه جدید با آن ساخته شد.
        resized_presentation.slides.remove_at(1)

        resized_presentation.save("PDF_with_custom_slide_size.pdf", slides.export.SaveFormat.PDF)

تبدیل PowerPoint به PDF در نمای اسلایدهای یادداشت‌ها

مثال زیر یک ارائه را به PDF صادر می‌کند به‌طوری که یادداشت‌های سخنران هر اسلاید زیر اسلاید قرار می‌گیرد. برای دیدن نتیجه، از ارائه‌ای حاوی یادداشت‌های سخنران استفاده کنید.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.slides_layout_options = slides.export.NotesCommentsLayoutingOptions()
pdf_options.slides_layout_options.notes_position = slides.export.NotesPositions.BOTTOM_FULL

with slides.Presentation("NotesFile.pptx") as presentation:
    presentation.save("Pdf_Notes_out.pdf", slides.export.SaveFormat.PDF, pdf_options)

استانداردهای دسترسی‌پذیری و انطباق برای PDF

Aspose.Slides به شما اجازه می‌دهد از یک روش تبدیل استفاده کنید که با Web Content Accessibility Guidelines (WCAG) سازگار است. می‌توانید یک سند PowerPoint را به PDF با استفاده از هر یک از این استانداردهای انطباق صادر کنید: PDF/A1a، PDF/A1b و PDF/UA.

این کد پایتون یک عملیات تبدیل PowerPoint به PDF را نشان می‌دهد که در آن چندین PDF بر اساس استانداردهای انطباق مختلف به‌دست می‌آیند:

import aspose.slides as slides

pres = slides.Presentation("pres.pptx")

options = slides.export.PdfOptions()

options.compliance = slides.export.PdfCompliance.PDF_A1A
pres.save("pres-a1a-compliance.pdf", slides.export.SaveFormat.PDF, options)

options.compliance = slides.export.PdfCompliance.PDF_A1B
pres.save("pres-a1b-compliance.pdf", slides.export.SaveFormat.PDF, options)

options.compliance = slides.export.PdfCompliance.PDF_UA
pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options)

Note: هنگام صادر کردن به PDF/UA، Aspose.Slides گرافیک‌های پیچیده مانند SmartArt، نمودارها و فرمول‌ها را به‌عنوان یک شکل واحد در نظر می‌گیرد. عناصر مسیر فردی به‌عنوان محتوای جداگانه حفظ نمی‌شوند و ممکن است به‌عنوان اثرات جانبی علامت‌گذاری شوند؛ متن جایگزین فقط برای کل شکل ارائه می‌شود.

FAQ

آیا Aspose.Slides برای پایتون می‌تواند اطلاعات برنامه را از PDF حذف کند؟
خیر، Aspose.Slides برای پایتون به‌صورت خودکار اطلاعات API و شماره نسخه را در PDF خروجی درج می‌کند. این اطلاعات قابل تغییر یا حذف نیست.

چگونه تنها اسلایدهای خاصی را در تبدیل PDF شامل کنم؟
می‌توانید شاخص‌های اسلایدی که می‌خواهید تبدیل کنید را با عبور یک آرایه از موقعیت‌های اسلاید به متد save مشخص کنید.

آیا می‌توان در حین تبدیل، PDF را با رمز عبور محافظت کرد؟
بله، می‌توانید قبل از ذخیره‌سازی ارائه به‌عنوان PDF، رمز عبور تنظیم کرده و مجوزهای دسترسی را با استفاده از کلاس PdfOptions تعریف کنید.

آیا Aspose.Slides از تبدیل PDF به سایر فرمت‌ها پشتیبانی می‌کند؟
بله، Aspose.Slides از تبدیل PDF به فرمت‌هایی مانند HTML، فرمت‌های تصویری (JPG، PNG)، SVG، TIFF و XML پشتیبانی می‌کند.

چگونه می‌توانم اطمینان حاصل کنم که PDF من با استانداردهای دسترسی‌پذیری مطابقت دارد؟
ویژگی compliance را در PdfOptions به استانداردهایی مانند PDF_A1A، PDF_A1B یا PDF_UA تنظیم کنید تا از انطباق با راهنمایی‌های دسترسی‌پذیری اطمینان حاصل کنید.

آیا می‌توانم اسلایدهای مخفی را در خروجی PDF شامل کنم؟
بله، با تنظیم ویژگی show_hidden_slides در PdfOptions به True، اسلایدهای مخفی در PDF گنجانده می‌شوند.

چگونه کیفیت و وضوح تصویر را در حین تبدیل تنظیم کنم؟
از ویژگی‌های jpeg_quality و sufficient_resolution در PdfOptions برای کنترل کیفیت تصویر و وضوح در PDF حاصل استفاده کنید.

آیا Aspose.Slides به‌طور خودکار تعویض فونت‌ها را مدیریت می‌کند؟
Aspose.Slides تعویض‌های فونت را در حین تبدیل شناسایی می‌کند و می‌توانید آنها را با استفاده از ویژگی warning_callback در SaveOptions (در حال حاضر محدود) مدیریت کنید.

منابع اضافی