מבוא

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 שנוצרו על ידי כלים אחרים עוברים סיבוב חזרה בבטחה.

ראה גם