מבוא
Aspose.Slides FOSS for Python זמין כעת ב‑PyPI: ספרייה חינמית ברישיון MIT ליצירה, קריאה ועריכת קבצי PowerPoint .pptx באופן מלא ב‑Python, ללא תלות ב‑Microsoft Office או בכל סביבת ריצה קניינית.
הספרייה נועדה למפתחים שצריכים ליצור או לתפעל קבצי מצגות באופן תכנותי: אוטומציה של חבילות שקופיות מהנתונים, חילוץ טקסט ונתוני מטא מקבצי PPTX שהועלו, בניית צינורות דיווח מבוססי מצגות, או הטמעת יצירת מצגות באפליקציות אינטרנט. מכיוון שaspose-slides-foss היא Python טהורה עם רק lxml כתלות, היא מתפרסת באופן זהה ב‑Windows, macOS, Linux ובמכולות Docker.
תכונות מרכזיות
- תמיכה מלאה ב‑PPTX: פתח כל קובץ
.pptx, שנה את תוכנו ושמור אותו בחזרה מבלי לאבד חלקי XML לא ידועים שהספרייה עדיין אינה מבינה. - ניהול שקופיות: הוסף, הסר ועבור על שקופיות באמצעות
prs.slides; המצגת מתחילה עם שקופית ריקה אחת לאחרslides.Presentation(). - צורות אוטומטיות, טבלאות ומחברים: הוסף צורות דרך
slide.shapes.add_auto_shape(), נתונים טבלאיים דרךslide.shapes.add_table(), ומחברים חזותיים בין צורות דרךslide.shapes.add_connector(). - עיצוב טקסט עשיר: עצב טקסט ברמת תו עם
PortionFormat: גודל גופן, מודגש, נטוי, קו תחתי, וצבע ARGB דרךFillType.SOLIDו‑Color.from_argb(). - סוגי מילוי: החל מילויים
FillType.SOLID,GRADIENT,PATTERNאוPICTUREעל כל צורה. - אפקטים חזותיים: צל חיצוני, זוהר, קצה רך, טשטוש, השתקפות וצל פנימי דרך
shape.effect_format. - עיצוב תלת‑ממדי: חיתוך, מצלמה, מערכת תאורה, חומר ועומק חצייה דרך
shape.three_d_format. - הערות דובר: צרף טקסט הערות לכל שקופית דרך
notes_slide_manager.add_notes_slide(). - תגובות משורשרות: הוסף תגובות עם מטא‑נתוני המחבר ומיקום השקופית.
- תמונות משובצות: הטמע מתיקיית קובץ, בתים, או זרם
io.BytesIO. - מאפייני מסמך: קרא וכתוב מאפיינים מרכזיים, של אפליקציה ומותאמים אישית.
התחלה
התקן מ-PyPI. נדרשת Python 3.10 או גרסה מאוחרת יותר; lxml מותקן אוטומטית.
pip install aspose-slides-foss
צור את המצגת הראשונה שלך עם צורה ושמור אותה:
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
from aspose.slides_foss import ShapeType
with slides.Presentation() as prs:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)
shape.add_text_frame("Hello from Aspose.Slides FOSS!")
prs.save("hello.pptx", SaveFormat.PPTX)
תמיד השתמש בPresentation בתוך בלוק with; זה מבטיח שכל המשאבים הפנימיים משתחררים כאשר הבלוק יוצא.
דוגמת עיצוב טקסט
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:
shape = prs.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
tf = shape.add_text_frame("Bold heading in corporate blue")
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("formatted.pptx", SaveFormat.PPTX)
מגבלות נוכחיות
האזורים הבאים מייצרים NotImplementedError בגרסה זו:
- תרשימים, SmartArt, ו‑אובייקטי OLE
- הנפשות ומעברי שקופיות
- ייצוא ל‑PDF, HTML, SVG, או פורמטים של תמונה
- קישורים, הגדרות פעולה, מאקרו VBA, וחתימות דיגיטליות
חלקי XML לא ידועים שנתקלו בהם במהלך הטעינה נשמרים במדויק בעת השמירה, ולכן קבצי PPTX שנוצרו על ידי כלים אחרים עוברים סיבוב בטוח.