Bază de cunoștințe

Python PPTX | Cum să manipulezi prezentări PowerPoint

Dacă vrei să afli cum să creezi, citești, personalizezi, combini, clonezi sau convertești prezentări PowerPoint și OpenOffice utilizând Python, fără a avea nevoie de alte programe externe, suntem aici să te ajutăm.

Aspose.Slides for Python via .NET este o bibliotecă de clase pentru manipularea prezentărilor, oferind numeroase funcționalități cheie, cum ar fi crearea de prezentări de la zero, conversia prezentărilor, gestionarea textelor, formelor, tabelelor, animațiilor, previzualizarea diapozitivelor, exportul diapozitivelor în PDF, TIFF, XPS, HTML etc., și multe alte caracteristici. Aspose.Slides for Python via .NET furnizează demonstrații și exemple funcționale pentru a te ajuta să înțelegi mai bine API‑ul nostru.

API‑ul nostru oferă următoarele funcționalități:

• Crearea sau clonarea diapozitivelor din șabloane
• Lucrul cu tabele PowerPoint
• Eliminarea sau adăugarea protecției pe forme
• Adăugarea diagramelor MS Excel ca OleObjects
• Generarea de prezentări din baza de date
• Protejarea prezentărilor
• Crearea și modificarea diagramelor
• Exportul prezentărilor în PDF, XPS, HTML, JPEG, PNG, SVG și multe altele

Formate de fișiere acceptate:

Aspose.Slides for Python via .NET poate încărca și salva următoarele formate de fișiere: PPT, POT, PPS, PPTX, POTX, PPSX, PPTM, PPSM, POTM, ODP, OTP și poate salva în formatele: TIFF, EMF, PDF, XPS, JPEG, PNG, GIFF, BMP, SVG, SWF, HTML, XAML.

Mai jos îți vom arăta cum să creezi, să deschizi, să îmbini și să salvezi o prezentare, oferind exemple de cod.

Python PPTX | Cum să manipulezi prezentări PowerPoint

Cum să creezi o prezentare PowerPoint (PPTX) utilizând Python

Pentru a adăuga o linie nouă într-un diapozitiv folosind Aspose.Slides for Python via .NET, urmează acești pași:

  1. Creează o instanță a clasei Presentation
  2. Obține o referință la diapozitiv utilizând indexul său
  3. Folosind metoda add_auto_shape expusă de obiectul shapes, adaugă un AutoShape de tip LINE
  4. Salvează prezentarea ca fișier PPTX

Folosind acești pași, am adăugat o linie pe primul diapozitiv al prezentării:

import aspose.slides as slides  

# Instantiate a Presentation object that represents a presentation file
with slides.Presentation() as presentation:
    slide = presentation.slides[0]
    slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0)
    presentation.save("NewPresentation_out.pptx", slides.export.SaveFormat.PPTX)

Cum să deschizi o prezentare utilizând Python

Folosind Aspose.Slides for Python via .NET, dezvoltatorii pot accesa sau modifica prezentări PowerPoint existente.

API‑ul nostru oferă clasa Presentation pentru deschiderea unei prezentări existente, iar noi putem folosi unul dintre constructorii potriviți ai clasei Presentation pentru a crea obiectul pe baza unei prezentări PowerPoint existente. În exemplul de mai jos, vom arăta cum să deschidem o prezentare. Am trecut numele fișierului prezentării în constructorul clasei Presentation și afișăm numărul total de diapozitive pe ecran.

import aspose.slides as slides

# Opening the presentation file by passing the file path to the constructor of Presentation class
with slides.Presentation("pres.pptx") as pres:
    # Printing the total number of slides present in the presentation
    print(pres.slides.length)

Și dacă ai prezentări foarte mari (de exemplu dimensiunea prezentării este de 3 GB), le poți deschide cu codul de mai jos:

import aspose.slides as slides
import os

loadOptions = slides.LoadOptions()
loadOptions.blob_management_options = slides.BlobManagementOptions()
loadOptions.blob_management_options.presentation_locking_behavior = slides.PresentationLockingBehavior.KEEP_LOCKED

with slides.Presentation("pres.pptx", loadOptions) as pres:
    # the huge presentation is loaded and ready to use, but the memory consumption is still low.

    # make any changes to the presentation.
    pres.slides[0].name = "Very large presentation"

    # presentation will be saved to the other file, the memory consumptions still low during saving.
    pres.save("veryLargePresentation-copy.pptx", slides.export.SaveFormat.PPTX)

    # can't do that! IO exception will be thrown, because the file is locked while pres objects will
    # not be disposed
    os.remove("pres.pptx")

# it's ok to do it here, the source file is not locked by pres object
os.remove("pres.pptx")

Dacă creezi o prezentare care conține obiecte mari (imagini foarte mari, video, audio etc.), folosește facilitatea Blob pentru a reduce consumul de memorie.

Cum să îmbini prezentări PowerPoint utilizând Python

Aspose.Slides for Python via .NET îți permite să îmbini prezentări în diferite moduri. Poți îmbina prezentări PowerPoint cu formele, formatarea, textele, stilurile, comentariile etc., fără a pierde calitatea sau datele. Cu API‑ul nostru, poți îmbina prezentări întregi, diapozitive specifice și prezentări într-un format (PPTX în PPTX, PPT în PPT etc.) sau în formate diferite (PPTX în PPT, PPTX în ODP etc.).

Pentru a îmbina prezentări poți folosi metodele add_clone (din interfața ISlideCollection ). Obiectul Presentation conține o colecție de diapozitive, iar tu poți apela metoda add_clone din prezentarea selectată, iar în acea prezentare diapozitivele vor fi îmbinate.

Îmbinare prezentare

Folosind metoda AddClone (ISlide) , poți combina diapozitive fără să-ți faci griji că acestea își vor pierde aspectul și stilurile (parametri impliciți).
În codul de mai jos poți vedea cum se îmbină prezentările:

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide)
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

Îmbină prezentarea și modifică stilul diapozitivelor
Dacă vrei să schimbi stilul diapozitivelor în prezentarea de ieșire în timp ce le îmbini, metoda add_clone (ISlide, IMasterSlide, Boolean) îți permite acest lucru.

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide, pres1.masters[0], allow_clone_missing_layout = True)
        pres1.save("combined_with_master.pptx", slides.export.SaveFormat.PPTX)

Îmbină diapozitive specifice
Folosind codul de mai jos, poți selecta și combina diapozitive specifice din diferite prezentări, obținând o singură prezentare de ieșire:

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide, pres1.layout_slides[0])
        pres1.save("combined_with_layout.pptx", slides.export.SaveFormat.PPTX)

Pentru mai multe modalități de îmbinare a prezentărilor, poți consulta secțiunea Îmbinare prezentare din documentație.

Cum să salvezi prezentări PowerPoint utilizând Python

Cu Aspose.Slides for Python via .NET poți salva o prezentare ca fișier sau flux. Mai jos oferim un exemplu de cod pentru ambele metode.

Salvare prezentare ca fișiere
Poți salva o prezentare ca fișiere apelând metoda Save a clasei Presentation .

În codul de mai jos poți vedea cum să salvezi o prezentare cu Aspose.Slides for Python via .NET utilizând Python, trecând numele fișierului și formatul de salvare metodei Save.

import aspose.slides as slides

# Instantiate a Presentation object that represents a PPT file
with slides.Presentation() as presentation:
    
    #...do some work here...

    # Save your presentation to a file
    presentation.save("Saved_out.pptx", slides.export.SaveFormat.PPTX)

Salvare prezentare în fluxuri
Un mod de a salva prezentările este să le salvezi în flux. Pur și simplu treci un flux de ieșire metodei Save a clasei Presentation . În codul de mai jos am creat un nou fișier Presentation, am adăugat text la formă și am salvat prezentarea în flux.

import aspose.slides as slides

# Instantiate a Presentation object that represents a PPT file
with slides.Presentation() as presentation:
    
    shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 200, 200, 200)

    # Save your presentation to a stream
    with open("Save_As_Stream_out.pptx", "bw") as stream:
        presentation.save(stream, slides.export.SaveFormat.PPTX)

În documentația noastră poți afla cum să salvezi prezentări cu tip de vizualizare predefinit , salvezi prezentări în format Strict Open XML pentru foi de calcul sau salvezi actualizări de progres în procente .

Aspose.Slides for Python via .NET este compatibil cu Python 3.5, 3.6, 3.7, 3.8, 3.9 și, în cazul în care scrii cod Python pe Linux, poți verifica cerințele suplimentare pentru Linux .

Consultanță plătită

Dacă ai nevoie de ajutor pentru proiectul tău, avem experți care vor lucra cu tine la proiect, vor proiecta o soluție și vor implementa API‑ul nostru conform nevoilor tale. Vom face munca grea pentru ca tu să te poți concentra pe afacerea ta.