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

بررسی کلی

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

تبدیل PowerPoint به PDF

با استفاده از Aspose.Slides می‌توانید ارائه‌ها را در این فرمت‌ها به PDF تبدیل کنید:

  • PPT
  • PPTX
  • ODP

برای تبدیل یک ارائه به PDF در پایتون، تنها کافی است نام فایل را به عنوان آرگومان به کلاس ارائه پاس دهید و سپس ارائه را با استفاده از متد ذخیره به PDF ذخیره کنید. کلاس ارائه متد ذخیره را در اختیار می‌گذارد که معمولاً برای تبدیل یک ارائه به 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 برای تصاویر و غیره را تعیین کنید.

مثال زیر ارائه‌ای را با کیفیت JPEG 90، وضوح تصویر 300 DPI، متافایل‌ها را به PNG ذخیره و فشرده‌سازی متن Flate صادر می‌کند.

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)

انتخاب خودکار فشرده‌سازی تصویر

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

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

import aspose.slides as slides

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

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

این گزینه برای هر تصویر یک الگوریتم فشرده‌سازی انتخاب می‌کند. کاهش مقدار jpeg_quality باعث کاهش کیفیت تصویر JPEG می‌شود، در حالی که کاهش مقدار sufficient_resolution اجازه می‌دهد تصاویر به وضوح پایین‌تری نمونه‌برداری شوند که می‌تواند جزئیات را کاهش دهد. فعال‌سازی انتخاب خودکار فشرده‌سازی به‌تنهایی هیچ‌یک از این تنظیمات را کاهش نمی‌دهد.

انتخاب الگوریتم‌های فشرده‌سازی تصویر به زمان پردازش و حافظه بیشتری نیاز دارد. میزان کاهش اندازه به تصاویر ارائه و تنظیمات صادرات بستگی دارد؛ کاهش ثابت برای هر ارائه تضمین نمی‌شود.

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

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

مقدار پیش‌فرض False است: تصویر پیش‌نمایش یا آیکن شی OLE روی صفحه PDF رندر می‌شود، اما فایل جاسازی‌شده به عنوان پیوست گنجانده نمی‌شود. تنظیم گزینه به True علاوه بر این، دادهٔ فایل را نیز شامل می‌شود. پیش‌نمایش همچنان یک نمایش بصری است؛ پیوست به دریافت‌کنندگان اجازه می‌دهد فایل جاسازی‌شده را جداگانه باز یا ذخیره کنند. شی OLE تبدیل به یک برگهٔ اکسل تعاملی در صفحه 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)

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

یک ارائه می‌تواند قالب‌بندی بولد را بر متن اعمال کند حتی اگر قلم آن دارای نوع بولد اختصاصی نباشد. متن می‌تواند از طریق بولد مصنوعی (synthetic bolding) ظاهر بولد داشته باشد که گلیف‌های معمولی را به‌طور مصنوعی ضخیم می‌کند. وقتی این متن در 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 with unsupported font style rasterization disabled PDF with unsupported font style rasterization enabled

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

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

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

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

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 به شما امکان می‌دهد از روشی برای تبدیل استفاده کنید که با راهنماهای دسترسی به محتوای وب (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)

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

سؤالات متداول

آیا Aspose.Slides for Python می‌تواند اطلاعات برنامه را از PDF حذف کند؟

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

چگونه می‌توان تنها اسلایدهای خاصی را در تبدیل PDF گنجاند؟

می‌توانید اندیس‌های اسلایدهای موردنظر را با ارسال یک آرایهٔ موقعیت اسلاید به متد ذخیره مشخص کنید.

آیا امکان قفل‌گذاری با رمز عبور 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 (در حال حاضر محدود) آن‌ها را مدیریت کنید.

منابع تکمیلی