Introduction

این راهنمای نشان می دهد که چگونه برای ایجاد، اصلاح و ذخیره ارائه های PowerPoint به طور برنامه نویسی در Python با استفاده از Aspose.Slides FOSS. کتابخانه اجازه می دهم شما را به ساخت اسلاید از اسلات، اضافه کردن و ترتیب اسلیاید، جمع آوری آنها با اشکال، جدول ها، و متن فرمت شده، به پس انداز نتایج به PPTX. تمام پردازش انجام می شود در خالص Python بدون وابستگی به Microsoft Office یا هر دو خارجی.

کتابخانه در پایتخت به عنوان aspose-slides-foss با مجوز MIT نصب کنید. با آن pip, وارد آن, و شروع به ساخت ارائه در چند خط کد. شما به طور خودکار تولید گزارش، ساخت یک لوله اسلاید و یا انباشت نتایج ارائه در یک برنامه وب، API پوشش کامل: اسلاید مجموعه ها، اسلاید های استاد / طرح، مجموعه های شکل، چارچوب های متن، فرمت های پر کردن و… گزینه های صادرات.

این پست از طریق قابلیت های اصلی ارائه و مدیریت – کلاس ها و روش هایی که بیشتر در هنگام کار با اسلاید در Python استفاده می کنید، عبور می کند.


چه چیزی شامل می شود

معرفی چرخه زندگی

و این Presentation کلاس نقطه ورودی است. ایجاد یک پوشش جدید، دستکاری محتوا آن و ذخیره به PPTX. Presentation به عنوان یک مدیر زمینه با with برای رها کردن فایل ها به طور خودکار انجام می شود.

import io
from aspose.slides_foss import Presentation
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    # A new presentation starts with one blank slide
    print("Slides:", len(pres.slides))  # 1

    # Save to a file
    pres.save("output.pptx", SaveFormat.PPTX)

    # Or save to a stream
    buf = io.BytesIO()
    pres.save(buf, SaveFormat.PPTX)

عملیات جمع آوری اسلاید

SlideCollection اجازه دهید شما اضافه کنید، وارد، کلون، حذف و سفارش اسلاید. len(pres.slides) این حساب پس از هر تغییر در حال حاضر را نشان می دهد.

from aspose.slides_foss import Presentation, ShapeType

with Presentation() as pres:
    layout = pres.layout_slides[0]

    # Add a blank slide using the first layout
    pres.slides.add_empty_slide(layout)

    # Insert at a specific position
    pres.slides.insert_empty_slide(1, layout)

    # Clone an existing slide (shapes are copied)
    pres.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 200, 100)
    pres.slides.add_clone(pres.slides[0])

    print("Total slides:", len(pres.slides))  # 4

    # Remove by index
    pres.slides.remove_at(3)

شکل ها و اتومبیل ها

اضافه کردن مستطیلات، الیپس ها، مثلث ها و سایر اشکال جغرافیایی به هر اسلاید از طریق ShapeCollection.add_auto_shape().هر شکل، موقعیت، اندازه و چرخش را نشان می دهد., و پر کردن اموال که در طول چرخه های ذخیره / بارگذاری باقی می ماند.

from aspose.slides_foss import Presentation, ShapeType

with Presentation() as pres:
    slide = pres.slides[0]
    slide.shapes.clear()

    rect = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)
    rect.rotation = 15

    ellipse = slide.shapes.add_auto_shape(ShapeType.ELLIPSE, 400, 50, 200, 200)

    # Reorder z-index
    slide.shapes.reorder(0, ellipse)
    print("Front shape:", slide.shapes[0].shape_type)  # ELLIPSE

Tables

ایجاد جدول های داده با ShapeCollection.add_table(), تنظیم سلول متن از طریق TextFrame, سلول های ترکیب, و اعمال فرمت مرز. ارتفاع خطوط و ستون عرض ها با ارزش هایی که به سازنده منتقل می کنید مطابقت دارند.

from aspose.slides_foss import Presentation, FillType
from aspose.slides_foss.drawing import Color

    table = slide.shapes.add_table(50, 50, [150, 150, 150], [40, 40, 40])

    # Merge two cells in the second row
    table.merge_cells(table.rows[1][0], table.rows[1][1], False)

    # Style the header row with a bottom border
    for col_idx in range(len(table.columns)):
        fmt = table.rows[0][col_idx].cell_format
        fmt.border_bottom.fill_format.fill_type = FillType.SOLID
        fmt.border_bottom.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 0, 0)
        fmt.border_bottom.width = 2

Master and Layout اسلاید ها

هر نمایش دارای یک سلسله مراتب از اسلاید های اصلی و اسلات طرح است. از طریق Presentation.masters و Presentation.layout_slides به طور مداوم اعمال می شود در سراسر دک خود را به شکل.

from aspose.slides_foss import Presentation

with Presentation() as pres:
    master = pres.masters[0]
    print("Master layouts:", len(master.layout_slides))

    # Pick a layout by type
    from aspose.slides_foss import SlideLayoutType
    title_layout = pres.layout_slides.get_by_type(SlideLayoutType.TITLE)
    if title_layout:
        pres.slides.add_empty_slide(title_layout)

اموال مستندات

خواندن و نوشتن متادیت های ساخته شده مانند عنوان، نویسنده و موضوع از طریق DocumentProperties موضوع: قبل از تماس با هر یک از این ویژگی ها، تنظیم کنید. save() - آنها در متادیت های PPTX قرار دارند و قابل خواندن با ابزارهای زیر هستند:

from aspose.slides_foss import Presentation
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    props = pres.document_properties
    props.title = "Quarterly Report"
    props.author = "Engineering"
    props.subject = "Q1 2026 Results"

    pres.save("report.pptx", SaveFormat.PPTX)

سریع شروع

دستور زیر را اجرا کنید تا Aspose.Slides FOSS برای Python از PyPI نصب شود:

pip install aspose-slides-foss

مثال زیر یک نمایش با شکل عنوان، جدول داده و پر کردن ایجاد می کند و سپس آن را به PPTX ذخیره می شود:

from aspose.slides_foss import Presentation, ShapeType, FillType, NullableBool
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

    # Add a title shape
    title = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 30, 860, 80)
    tf = title.add_text_frame("Quarterly Report")
    tf.paragraphs[0].portions[0].portion_format.font_bold = NullableBool.TRUE
    tf.paragraphs[0].portions[0].portion_format.font_height = 28

    # Add a data table
    table = slide.shapes.add_table(50, 150, [200, 200, 200], [40, 40, 40])
    headers = ["Region", "Revenue", "Growth"]
    for i, h in enumerate(headers):
        table.rows[0][i].text_frame.text = h

    # Fill the title shape background
    title.fill_format.fill_type = FillType.SOLID
    title.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 51, 102)

    # Save as PPTX
    pres.save("report.pptx", SaveFormat.PPTX)

فرمت های پشتیبانی شده

FormatExtensionReadWrite
PPTX.pptx
PPT.پپتPlanned
PPSX.ppsxPlanned
PPTM.pptmPlanned
POTX.پاتکسPlanned
ODP.ODPPlanned
PDF.pdfPlanned
HTML.htmlPlanned
HTML5.htmlPlanned
TIFF.تیترPlanned
GIF.GIFPlanned
XPS.xpsPlanned
FODP.فدپPlanned
MD.mdPlanned

یادداشت : PPTX خواندن و نوشتن به طور کامل اجرا می شود. SaveFormat ارزش ها (PPT، ODP، PDF و غیره) برای انتشارات آینده برنامه ریزی می شوند؛ آنها را به… save() در حال حاضر تولید PPTX.


منبع باز و مجوز

Aspose.Slides FOSS for Python is released under the MIT license. You can use it in پروژه های شخصی، علمی و تجاری بدون محدودیت. کد منبع است که در آن در دسترس است GitHub این بسته در PyPI.


شروع می شود

منابع مرتبط