Znalostní báze

Python PPTX | Jak manipulovat s prezentací PowerPoint

Pokud chcete vědět, jak pomocí Pythonu vytvářet, číst, přizpůsobovat, kombinovat, klonovat nebo převádět prezentace PowerPoint a OpenOffice bez potřeby dalšího externího softwaru, máme pro vás řešení.

Aspose.Slides for Python via .NET je knihovna tříd pro manipulaci s prezentacemi, která nabízí řadu klíčových funkcí, jako je vytváření prezentací od nuly, převod prezentací, správa textů, tvarů, tabulek, animací, náhled snímků, export snímků do PDF, TIFF, XPS, HTML atd., a mnoho dalších funkcí. Aspose.Slides for Python via .NET poskytuje demoverze a funkční příklady, které vám pomohou lépe pochopit naše API.

Naše API nabízí následující funkce:

• Vytváření nebo klonování snímků ze šablon
• Práce s tabulkami PowerPoint
• Odstraňování nebo přidávání ochrany tvarů
• Přidávání grafů MS Excel jako OleObjects
• Generování prezentací z databáze
• Ochrana prezentací
• Vytváření a úprava grafů
• Export prezentací do PDF, XPS, HTML, JPEG, PNG, SVG a mnoho dalších

Podporované formáty souborů:

Aspose.Slides for Python via .NET může načítat i ukládat následující formáty souborů: PPT, POT, PPS, PPTX, POTX, PPSX, PPTM, PPSM, POTM, ODP, OTP a ukládat v následujících formátech: TIFF, EMF, PDF, XPS, JPEG, PNG, GIFF, BMP, SVG, SWF, HTML, XAML.

Níže vám ukážeme, jak vytvořit, otevřít, sloučit a uložit prezentaci, a poskytneme ukázky kódu.

Python PPTX | Jak manipulovat s prezentací PowerPoint

Jak vytvořit prezentaci PowerPoint (PPTX) pomocí Pythonu

Pro přidání nového řádku do snímku pomocí Aspose.Slides for Python via .NET postupujte podle následujících kroků:

  1. Vytvořte instanci třídy Presentation
  2. Získejte odkaz na snímek pomocí jeho indexu
  3. Pomocí metody add_auto_shape vystavené objektem shapes přidejte AutoShape typu LINE
  4. Uložte prezentaci jako soubor PPTX

Pomocí těchto kroků jsme přidali čáru do prvního snímku prezentace:

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)

Jak otevřít prezentaci pomocí Pythonu

Pomocí Aspose.Slides for Python via .NET mohou vývojáři přistupovat k existujícím prezentacím PowerPoint nebo je upravovat.

Naše API poskytuje třídu Presentation pro otevření existující prezentace a můžeme použít jeden z vhodných konstruktorů třídy Presentation k vytvoření objektu na základě existující prezentace PowerPoint. V níže uvedeném příkladu ukážeme, jak otevřít prezentaci. Předali jsme název souboru prezentace konstruktoru třídy Presentation a získáme celkový počet snímků, který vypíšeme na obrazovku.

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)

A pokud máte velmi velké prezentace (například velikost 3 GB), můžete je otevřít pomocí ukázkového kódu uvedeného níže:

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")

Pokud vytváříte prezentaci, která obsahuje velké objekty (velké obrázky, video, audio atd.), použijte Blob facility ke snížení spotřeby paměti.

Jak sloučit prezentace PowerPoint pomocí Pythonu

Aspose.Slides for Python via .NET vám umožňuje sloučit prezentace různými způsoby. Můžete sloučit prezentace PowerPoint včetně jejich tvarů, formátování, textů, stylů, komentářů atd., aniž by došlo ke ztrátě kvality nebo dat. S naším API můžete sloučit celé prezentace, konkrétní snímky a prezentace v jednom formátu (PPTX na PPTX, PPT na PPT atd.) nebo v různých formátech (PPTX na PPT, PPTX na ODP atd.).

Pro sloučení prezentací můžete použít metody add_clone (z rozhraní ISlideCollection ). Objekt Presentation obsahuje kolekci snímků a můžete zavolat metodu add_clone z vybrané prezentace, čímž se snímky sloučí.

Sloučit prezentaci

Pomocí metody AddClone (ISlide) můžete kombinovat snímky, aniž byste se obávali, že ztratí svůj vzhled a styly (výchozí parametry).
V kódu níže vidíte, jak sloučit prezentace:

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)

Sloučit prezentaci a změnit styl snímků
Pokud chcete během sloučení změnit styl snímků ve výstupní prezentaci, metoda add_clone (ISlide, IMasterSlide, Boolean) vám to umožní.

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)

Sloučit konkrétní snímky
Pomocí níže uvedeného kódu můžete vybrat a kombinovat konkrétní snímky z různých prezentací, což vytvoří jedinou výstupní prezentaci:

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)

Pro další způsoby sloučení prezentací můžete navštívit sekci Sloučení prezentací v dokumentaci.

Jak uložit prezentace PowerPoint pomocí Pythonu

S Aspose.Slides for Python via .NET můžete prezentaci uložit jako soubor nebo stream. Níže poskytneme ukázkový kód pro oba způsoby.

Ukládání prezentace jako souborů
Prezentaci můžete uložit jako soubor voláním metody Save třídy Presentation .

V kódu níže vidíte, jak uložit prezentaci pomocí Aspose.Slides for Python via .NET v Pythonu předáním názvu souboru a formátu ukládání metodě 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)

Ukládání prezentace do streamů
Jedním ze způsobů, jak ukládat prezentace, je ukládání do streamu. Jednoduše předáte výstupní stream metodě Save třídy Presentation . V níže uvedeném kódu jsme vytvořili nový soubor Presentation, přidali text do tvaru a uložili prezentaci do streamu.

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)

V naší dokumentaci můžete zjistit, jak uložit prezentace s předdefinovaným typem zobrazení , uložit prezentace do formátu Strict Open XML spreadsheet nebo uložit průběžné aktualizace v procentech .

Aspose.Slides for Python via .NET je kompatibilní s Pythonem 3.5, 3.6, 3.7, 3.8, 3.9 a pokud píšete kód v Linuxu, můžete si ověřit další požadavky pro Linux .

Placené poradenství

Pokud potřebujete pomoc s vaším projektem, máme odborníky , kteří s vámi budou pracovat na vašem projektu, navrhnou řešení a implementují naše API podle vašich potřeb. Uděláme těžkou práci, abyste se mohli soustředit na své podnikání.