מבוא
Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx קבצים באופן מלא ב-Python, ללא תלות ב-Microsoft Office או בכל סביבת ריצה קניינית.
הספרייה נועדה למפתחים שצריכים ליצור או לתפעל קבצי מצגות באופן תכנותי: אוטומציה של חבילות שקופיות מנתונים, חילוץ טקסט ונתוני מטא מקבצי PPTX שהועלו, בניית צינורות דיווח מבוססי מצגות, או הטמעת יצירת מצגות באפליקציות אינטרנט. משום ש aspose-slides-foss הוא Python טהור עם רק lxml כתלות, הוא מתפרס באופן זהה ב-Windows, macOS, Linux ובמכולות Docker.
תכונות מרכזיות
- תמיכה מלאה ב-PPTX משולב-חזרה: פתח כל
.pptxקובץ, שנה את תוכנו ושמור אותו בחזרה מבלי לאבד חלקי XML לא ידועים שהספרייה עדיין אינה מבינה. - ניהול שקופיות: הוסף, הסר, ועבור על שקופיות באמצעות
prs.slides; המצגת מתחילה עם שקופית ריקה אחת אחריslides.Presentation(). - AutoShapes, טבלאות, ומחברים: הוסף צורות באמצעות
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. - 3D formatting: שיפוע, מצלמה, מערכת תאורה, חומר, ועומק חצייה באמצעות
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 בתוך a 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 שנוצרו על ידי כלים אחרים עוברים סיבוב חזרה בבטחה.