Εισαγωγή
Αυτό το εγχειρίδιο δείχνει πώς να δημιουργήσετε, να τροποποιήσουν και να αποθηκεύσει PowerPoint παρουσιάσεις προγραμματικά στο Python χρησιμοποιώντας Aspose.Slides FOSS. Η βιβλιοθήκη σας επιτρέπει να χτίζετε σκιές από κενά, προσθέστε και επαναπροσδιορίστε σινάρια, κατοικεί με σχήματα, πίνακες και μορφοποιημένο κείμενο, και απομακρύνουν το αποτέλεσμα σε PPTX. Όλες οι επεξεργασίες συμβαίνουν στην καθαρή Python χωρίς εξάρτηση από το Microsoft Office ή οποιοδήποτε εξωτερικό δυαδικό.
Η βιβλιοθήκη είναι διαθέσιμη στο PyPI ως aspose-slides-foss Υπό την άδεια του MIT.Install Με το με pip, εισάγετε το, και ξεκινήστε την κατασκευή των παρουσιάσεων σε μερικές γραμμές κώδικα. αυτοματοποιείτε την παραγωγή αναφορών, χτίζετε ένα σωλήνα δάπεδο ή ενσωματώνετε Η έκβαση παρουσίασης σε μια εφαρμογή web, το API καλύπτει την πλήρη επιφάνεια: slide συλλογές, master/layout slides, συλλογές σχήματος, κειμένου πλαίσια, συμπληρώστε μορφές και Επιλογές εξαγωγής.
Αυτό το άρθρο περνά μέσα από τις βασικές δυνατότητες διαχείρισης παρουσίασης – τις τάξεις και τις μεθόδους που θα χρησιμοποιήσετε περισσότερο όταν εργάζεστε με σκιές στο 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
ΣΤΑΛΙΔΑ
Δημιουργία πίνακων δεδομένων με ShapeCollection.add_table(), καθορίστε κείμενο κυττάρου μέσω TextFrame, συγχωνεύστε τα κύτταρα και εφαρμόστε τη διαμόρφωση των συνόρων. ρίζες ύψους και στήλη Τα πλάτη ταιριάζουν με τις τιμές που μεταφέρετε στον κατασκευαστή.
from aspose.slides_foss import Presentation, FillType
from aspose.slides_foss.drawing import Color
with Presentation() as pres:
slide = pres.slides[0]
slide.shapes.clear()
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 & Layout Slides
Κάθε παρουσίαση έχει μια ιεραρχία των master slides και layout slids. Μέσα από 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)
Γρήγορη έναρξη
Εκτελέστε την ακόλουθη εντολή pip για να εγκαταστήσετε 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
with Presentation() as pres:
slide = pres.slides[0]
slide.shapes.clear()
# 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)
Υποστηριζόμενες μορφές
| ΤΕΧΝΗ | ΕΠΙΤΡΟΦΗ | Διαβάστε | Γράψε |
|---|---|---|---|
| PPTX | .ΠΡΤΞ | ✓ | ✓ |
| PPT | .ΠΡΤ | — | Σχεδιασμένο |
| PPSX | .ΠΡΟΣΦΥΛΗ | — | Σχεδιασμένο |
| PPTM | .ΠΡΤΜ | — | Σχεδιασμένο |
| POTX | .ΠΟΤΞ | — | Σχεδιασμένο |
| ODP | .ΟΔΠ | — | Σχεδιασμένο |
| — | Σχεδιασμένο | ||
| HTML | .html | — | Σχεδιασμένο |
| HTML5 | .html | — | Σχεδιασμένο |
| TIFF | .Τίφ | — | Σχεδιασμένο |
| GIF | .ΓΓΙΤ | — | Σχεδιασμένο |
| XPS | .xps | — | Σχεδιασμένο |
| FODP | .Φόρτα | — | Σχεδιασμένο |
| MD | .ΜΔ | — | Σχεδιασμένο |
Σημείωση : 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.