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)
فرمت های پشتیبانی شده
| Format | Extension | Read | Write |
|---|---|---|---|
| PPTX | .pptx | ✓ | ✓ |
| PPT | .پپت | — | Planned |
| PPSX | .ppsx | — | Planned |
| PPTM | .pptm | — | Planned |
| POTX | .پاتکس | — | Planned |
| ODP | .ODP | — | Planned |
| — | Planned | ||
| HTML | .html | — | Planned |
| HTML5 | .html | — | Planned |
| TIFF | .تیتر | — | Planned |
| GIF | .GIF | — | Planned |
| XPS | .xps | — | Planned |
| FODP | .فدپ | — | Planned |
| MD | .md | — | Planned |
یادداشت : 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.