ویژگیها و قابلیتها
ویژگیها و قابلیتها
Aspose.Slides FOSS for Python مجموعه گستردهای از قابلیتها را برای کار با فایلهای PowerPoint .pptx بهصورت برنامهنویسی فراهم میکند. این صفحه تمام حوزههای ویژگی پشتیبانیشده را همراه با مثالهای کد نماینده فهرست میکند.
ارائه I/O
یک فایل .pptx موجود را باز کنید یا یک فایل جدید ایجاد کنید، سپس آن را به فرمت PPTX ذخیره کنید.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
# Open an existing presentation
with slides.Presentation("input.pptx") as prs:
print(f"Slide count: {len(prs.slides)}")
prs.save("output.pptx", SaveFormat.PPTX)
# Create a new presentation (starts with one blank slide)
with slides.Presentation() as prs:
prs.save("new.pptx", SaveFormat.PPTX)توجه: PPTX تنها فرمت ذخیرهسازی پشتیبانیشده است. خروجی به PDF، HTML، SVG یا تصاویر در دسترس نیست.
قسمتهای ناشناخته XML در فایل منبع بهصورت کلمه به کلمه هنگام ذخیره حفظ میشوند، بنابراین باز کردن و ذخیره مجدد یک .pptx هرگز محتوایی را که کتابخانه هنوز درک نمیکند حذف نخواهد کرد.
مدیریت اسلایدها
اسلایدها را اضافه کنید، حذف کنید، کلون کنید و ترتیب آنها را تغییر دهید.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
# Access the first slide
slide = prs.slides[0]
# Add an additional blank slide at the end
prs.slides.add_empty_slide(prs.layout_slides[0])
print(f"Total slides: {len(prs.slides)}")
prs.save("multi-slide.pptx", SaveFormat.PPTX)اشکال
اشکال خودکار، فریمهای تصویر، جداول و اتصالات را به یک اسلاید اضافه کنید.
شکلهای خودکار
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Add a rectangle at (x=50, y=50) with width=300, height=100
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 100)
shape.add_text_frame("Aspose.Slides FOSS")
prs.save("shapes.pptx", SaveFormat.PPTX)جداول
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Column widths and row heights in points
col_widths = [120.0, 120.0, 120.0]
row_heights = [40.0, 40.0, 40.0]
table = slide.shapes.add_table(50, 50, col_widths, row_heights)
table.rows[0][0].text_frame.text = "Product"
table.rows[0][1].text_frame.text = "Quantity"
table.rows[0][2].text_frame.text = "Price"
prs.save("table.pptx", SaveFormat.PPTX)اتصالات
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
box1 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 100, 150, 60)
box2 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 350, 100, 150, 60)
conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
conn.start_shape_connected_to = box1
conn.start_shape_connection_site_index = 3 # right side
conn.end_shape_connected_to = box2
conn.end_shape_connection_site_index = 1 # left side
prs.save("connector.pptx", SaveFormat.PPTX)قالببندی متن
متن را در سطح پاراگراف و کاراکتر با استفاده از PortionFormat قالببندی کنید.
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
tf = shape.add_text_frame("Bold blue heading")
fmt = tf.paragraphs[0].portions[0].portion_format
fmt.font_height = 28
fmt.font_bold = NullableBool.TRUE
fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)
prs.save("text.pptx", SaveFormat.PPTX)NullableBool.TRUE بهصورت صریح ویژگی را تنظیم میکند؛ NullableBool.NOT_DEFINED از اسلاید مستر ارث میبرد.
انواع پر کردن
پر کردن اشکال با رنگ ثابت، گرادیان، الگو یا تصویر.
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)
# Solid fill
shape.fill_format.fill_type = FillType.SOLID
shape.fill_format.solid_fill_color.color = Color.from_argb(255, 30, 120, 200)
prs.save("fill.pptx", SaveFormat.PPTX)جلوههای بصری
سایه خارجی، تابش، لبه نرم، تاری، انعکاس و سایه داخلی را بر اشکال اعمال کنید.
ویژگیهای اثر از طریق shape.effect_format قابل دسترسی هستند. برای پیکربندی هر کدام بهطور مستقل، outer_shadow_effect، glow_effect، soft_edge_effect، blur_effect، reflection_effect یا inner_shadow_effect را تنظیم کنید.
قالببندی 3D
از طریق shape.three_d_format، برش لبهٔ 3D، دوربین، نورپردازی، ماده و عمق استخراج را اعمال کنید. این کنترلکنندهٔ عمق بصری و مدل نورپردازی برای رندر شکلها در نمایشگرهای PPTX است که از افکتهای 3D پشتیبانی میکنند.
یادداشتهای سخنران
یادداشتها را به هر اسلایدی با استفاده از notes_slide_manager پیوست کنید.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
notes = prs.slides[0].notes_slide_manager.add_notes_slide()
notes.notes_text_frame.text = "Key talking point: emphasize the ROI benefit."
prs.save("notes.pptx", SaveFormat.PPTX)نظرات
نظرات تو درختی را به همراه اطلاعات نویسنده و موقعیت اسلاید اضافه کنید.
import aspose.slides_foss as slides
from aspose.slides_foss.drawing import PointF
from aspose.slides_foss.export import SaveFormat
from datetime import datetime
with slides.Presentation() as prs:
author = prs.comment_authors.add_author("Jane Smith", "JS")
slide = prs.slides[0]
author.comments.add_comment(
"Please verify this data before the presentation.",
slide,
PointF(2.0, 2.0),
datetime.now()
)
prs.save("comments.pptx", SaveFormat.PPTX)تصاویر تعبیهشده
یک تصویر را از مسیر فایل در ارائه جاسازی کنید و به عنوان PictureFrame به اسلاید اضافه کنید.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
with open("logo.png", "rb") as f:
image_data = f.read()
image = prs.images.add_image(image_data)
slide = prs.slides[0]
slide.shapes.add_picture_frame(
slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image
)
prs.save("with-image.pptx", SaveFormat.PPTX)ویژگیهای سند
خواندن و نوشتن ویژگیهای اصلی، برنامه و سفارشی سند.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
props = prs.document_properties
# Core properties
props.title = "Q1 Results"
props.author = "Finance Team"
props.subject = "Quarterly Review"
props.keywords = "Q1, finance, results"
# Custom property
props.set_custom_property_value("ReviewedBy", "Legal Team")
prs.save("deck.pptx", SaveFormat.PPTX)محدودیتهای شناختهشده
مناطق زیر NotImplementedError را برمیانگیزند و در این نسخه موجود نیستند:
| حوزه | وضعیت |
|---|---|
| نمودارها | پیادهسازی نشده |
| SmartArt | پیادهسازی نشده |
| انیمیشنها و انتقالها | پیادهسازی نشده |
| خروجی PDF / HTML / SVG / تصویر | پیادهسازی نشده (فقط PPTX) |
| ماکروهای VBA | پیادهسازی نشده |
| امضای دیجیتال | پیادهسازی نشده |
| پیوندهای فراگیر و تنظیمات عمل | پیادهسازی نشده |
| اشیاء OLE | پیادهسازی نشده |
| متن ریاضی | پیادهسازی نشده |
موارد مرتبط
- شروع به کار: نصب و اولین اسکریپت
- مرجع API: مرجع کلاسها و متدها
- راهنماهای نحوه انجام: مقالات مبتنی بر وظیفه