سوالات متداول
سوالات متداول
چگونه Aspose.Slides FOSS را نصب کنم؟
از PyPI با استفاده از pip نصب کنید. Python 3.10 یا بالاتر مورد نیاز است.
pip install aspose-slides-fossنصب را تأیید کنید:
import aspose.slides_foss as slides
with slides.Presentation() as prs:
print(f"Slides: {len(prs.slides)}")وابستگی lxml بهصورت خودکار نصب میشود. نیازی به Microsoft Office یا سایر زمانهای اجرا (runtime) سیستم نیست.
چرا باید از with slides.Presentation() as prs: استفاده کنم؟
کلاس Presentation مدیریتکنندهٔ دستگیرههای داخلی فایل و منابع XML است. بدون مدیر زمینه، این منابع هنگام خروج شیء Presentation از حوزهٔ دید آزاد نمیشوند، که میتواند منجر به نشت منابع یا قفل شدن فایلها در ویندوز شود.
همیشه این الگو را دنبال کنید:
with slides.Presentation("input.pptx") as prs:
# work here
prs.save("output.pptx", SaveFormat.PPTX)کدام فرمتهای فایل میتوانم ذخیره کنم؟
enum SaveFormat ثابتهایی برای بسیاری از فرمتها — PPTX، PDF، HTML، SVG، JPEG، PNG و سایرین — تعریف میکند تا با نسخه تجاری سازگاری API داشته باشد. در زمان اجرا در این نسخه FOSS، تمام فراخوانیهای save() آرگومان فرمت را نادیده میگیرند و همیشه خروجی PPTX مینویسند. ارسال SaveFormat.PDF بدون خطا کامپایل و اجرا میشود اما فایلی .pptx تولید میکند، نه یک .pdf.
from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)صادرات به فرمتهای غیر‑PPTX بهصورت عملکردی در این نسخه موجود نیست. برای تمام عملیات ذخیرهسازی از SaveFormat.PPTX استفاده کنید.
آیا میتوانم فایلهای .ppt (PowerPoint قدیمی 97–2003) را باز کنم؟
خیر. فقط فایلهای .pptx (Office Open XML) پشتیبانی میشوند. قالب باینری .ppt قدیمی توسط این کتابخانه پردازش نمیشود.
چگونه به اسلایدها دسترسی پیدا کنم؟
اسلایدها یک فهرست صفر‑پایه هستند که از طریق prs.slides قابل دسترسی است:
first_slide = prs.slides[0]
slide_count = len(prs.slides)چگونه یک اسلاید دوم اضافه کنم؟
از prs.slides.add_empty_slide() با یک طرح استفاده کنید:
with slides.Presentation() as prs:
layout = prs.layout_slides[0]
prs.slides.add_empty_slide(layout)
slide2 = prs.slides[1]
prs.save("two-slides.pptx", SaveFormat.PPTX)چگونه میتوانم رنگ پسزمینه اسلاید را تنظیم کنم؟
رنگگذاری پسزمینه اسلاید در این نسخه موجود نیست. کلاس Slide ویژگی background را ارائه نمیدهد. تلاش برای slide.background باعث بروز AttributeError میشود. این ویژگی در نسخهٔ فعلی پیادهسازی نشده است.
چگونه از NullableBool استفاده کنم؟
NullableBool یک enum سهحالت است که برای ویژگیهای قالببندی استفاده میشود. برای بولد، ایتالیک و ویژگیهای مشابه از NullableBool.TRUE (نه True پایتون) استفاده کنید:
from aspose.slides_foss import NullableBool, TextUnderlineType
fmt.font_bold = NullableBool.TRUE
fmt.font_italic = NullableBool.FALSE
# font_underline is TextUnderlineType, not NullableBool:
fmt.font_underline = TextUnderlineType.NOT_DEFINED # inherits from themeچرا تنظیم رنگ متن هیچ تأثیری ندارد؟
قبل از اختصاص رنگ، باید fill_type = FillType.SOLID را نیز تنظیم کنید:
from aspose.slides_foss import FillType
from aspose.slides_foss.drawing import Color
fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 200, 0, 0)آیا میتوانم از نمودارها یا SmartArt استفاده کنم؟
خیر. نمودارها، SmartArt، اشیای OLE، انیمیشنها، انتقالها، پیوندهای فراگیر، ماکروهای VBA و امضاهای دیجیتال در این نسخه پیادهسازی نشدهاند و خطای NotImplementedError را ایجاد میکنند.
آیا کتابخانه از Python 3.9 پشتیبانی میکند؟
خیر. Python 3.10 یا بالاتر مورد نیاز است.
آیا این کتابخانه ایمن برای استفاده در چند نخ است؟
هر شیء Presentation مستقل است. ایجاد و استفاده از نمونههای جداگانه Presentation از رشتههای جداگانه ایمن است به شرطی که یک شیء Presentation را بدون قفلگذاری خارجی بین رشتهها به اشتراک نگذارید.
چگونه یک تصویر را جاسازی کنم؟
بایتهای تصویر را بخوانید و به prs.images اضافه کنید، سپس یک PictureFrame ایجاد کنید:
with open("logo.png", "rb") as f:
image_data = f.read()
image = prs.images.add_image(image_data)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image)