V prezentacích PowerPoint se používají různé typy diagramů, aby byl obsah propracovanější. Tyto diagramy se skládají z různých tvarů, jako jsou elipsy, čáry, obdélníky a spojnice. V tomto článku se dozvíte, jak přidávat, klonovat a odstraňovat tvary v PowerPointových snímcích programově v Pythonu.
- Knihovna Pythonu pro práci s tvary PowerPoint
- Typy PowerPointových tvarů
- Přidat tvar do snímků aplikace PowerPoint
- Přidejte konektor do obrazců v PowerPointu
- Klonujte obrazec v PowerPointových snímcích
- Odebrat obrazce ze snímků aplikace PowerPoint
Knihovna Pythonu pro práci s tvary PowerPoint
Aspose.Slides pro Python přes .NET je navržen tak, aby vytvářel a manipuloval s prezentacemi v PowerPointu z aplikací Python. Tuto knihovnu použijeme pro práci s tvary na snímcích PowerPoint. Můžete jej nainstalovat z PyPI pomocí následujícího příkazu pip.
> pip install aspose.slides
Typy tvarů v PowerPointu
Pomocí Aspose.Slides pro Python můžete v prezentacích PowerPoint vytvářet různé tvary. Mezi nejčastěji používané tvary patří:
Přidejte tvar do snímků PowerPoint PPT v Pythonu
Pro přidání libovolného tvaru včetně elipsy, čáry, obdélníku se používá metoda addautoshape(ShapeType, Single, Single, Single, Single), které můžete předat typ tvaru a další potřebné parametry. Výčet ShapeType se používá k určení typu tvaru. Následují kroky pro přidání tvaru na snímek PowerPoint v Pythonu.
- Vytvořte prezentaci nebo načtěte existující pomocí třídy Prezentace.
- Získejte odkaz na požadovaný snímek z kolekce Presentation.slides.
- Přidejte elipsu (nebo jakýkoli jiný tvar) pomocí metody addautoshape (ShapeType, Single, Single, Single, Single).
- Uložte prezentaci pomocí metody Presentation.save(String, SaveFormat).
Následující ukázka kódu ukazuje, jak přidat obrazec na snímek PowerPoint v Pythonu.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Vytvořte novou prezentaci
with slides.Presentation() as pres:
# Získejte první snímek
sld = pres.slides[0]
# Přidejte automatický tvar typu elipsy
shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50)
# Použijte určité formátování na tvar elipsy
shp.fill_format.fill_type = slides.FillType.SOLID
shp.fill_format.solid_fill_color.color = drawing.Color.pink
# Použijte určité formátování na řádek Ellipse
shp.line_format.fill_format.fill_type = slides.FillType.SOLID
shp.line_format.fill_format.solid_fill_color.color = drawing.Color.purple
shp.line_format.width = 5
# Uložte soubor PPTX na disk
pres.save("add-ellipse.pptx", slides.export.SaveFormat.PPTX)
Následuje elipsa, kterou jsme přidali pomocí výše uvedeného ukázkového kódu.
Propojte tvary PowerPointu s konektorem v Pythonu
V diagramech jsou různé tvary spojeny pomocí čáry zvané spojnice. Konektor může být rovná nebo zakřivená čára. Podívejme se, jak přidat spojnici mezi dva PowerPoint tvary v Pythonu.
- Nejprve vytvořte instanci třídy Presentation pro vytvoření nebo načtení prezentace.
- Poté získejte referenci na snímek pomocí kolekce Presentation.slides.
- Přidejte dva tvary stejně jako v předchozí části a získejte jejich reference.
- Vytvořte konektor pomocí metody addconnector(ShapeType, Single, Single, Single, Single).
- Spojte tvary pomocí vlastností Connector.startshapeconnectedto a Connector.endshapeconnectedto.
- Voláním metody Connector.reroute() vytvořte nejkratší cestu automatického připojení.
- Nakonec prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).
Následující ukázka kódu ukazuje, jak připojit obrazce na snímku aplikace PowerPoint v Pythonu.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Vytvořte prezentaci
with slides.Presentation() as presentation:
# Přístup ke kolekci tvarů pro vybraný snímek
shapes = presentation.slides[0].shapes
# Přidejte elipsu
ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100)
# Přidejte obdélník automatického tvaru
rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100)
# Přidejte konektor pro připojení tvarů
connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10)
# Spojte tvary pomocí spojky
connector.start_shape_connected_to = ellipse
connector.end_shape_connected_to = rectangle
# Přesměrování volání pro nastavení automatické nejkratší cesty mezi tvary
connector.reroute()
# Uložit prezentaci
presentation.save("add-connector.pptx", slides.export.SaveFormat.PPTX)
Následuje snímek obrazovky prezentace po připojení tvarů pomocí konektoru.
Klonujte tvary PowerPoint PPT v Pythonu
Někdy se rozhodnete klonovat tvary místo vytváření nových. Aby toho bylo dosaženo, Aspose.Slides podporuje klonování tvaru. Následují kroky ke klonování tvaru v PowerPointu pomocí Pythonu.
- Nejprve použijte třídu Presentation k načtení souboru prezentace.
- Získejte odkaz na snímek z kolekce Presentation.slides.
- Získejte přístup ke zdrojovým a cílovým tvarům snímků z kolekce ISlide.shapes.
- Klonujte tvary z kolekce tvarů zdrojového snímku do cílového snímku pomocí metody addclone().
- Nakonec uložte aktualizovaný soubor prezentace.
Následující ukázka kódu ukazuje, jak klonovat obrazce v rámci snímků aplikace PowerPoint v Pythonu.
import aspose.slides as slides
# Načíst prezentaci
with slides.Presentation("add-ellipse.pptx") as presentation:
# Přístup k tvarům zdrojového snímku
sourceShapes = presentation.slides[0].shapes
# Přidejte nový prázdný snímek
blankLayout = presentation.masters[0].layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
destSlide = presentation.slides.add_empty_slide(blankLayout)
# Přístup k tvarům cílového snímku
destShapes = destSlide.shapes
# Klonové tvary
destShapes.add_clone(sourceShapes[0], 50, 150 + sourceShapes[0].height)
destShapes.add_clone(sourceShapes[0])
destShapes.insert_clone(0, sourceShapes[0], 50, 150)
# Uložení souboru
presentation.save("clone-shapes.pptx", slides.export.SaveFormat.PPTX)
Odeberte tvary PPT z PowerPoint Slides v Pythonu
Tvary můžete z prezentací aplikace PowerPoint také odebrat podle následujících kroků.
- Vytvořte instanci třídy Presentation pro načtení souboru PPT/PPTX.
- Přístup k požadovanému snímku z kolekce Presentation.slides.
- Filtrujte požadovaný tvar pomocí konkrétního textu pomocí vlastnosti IShape.alternativetext.
- Odstraňte tvar pomocí metody ISlide.shapes.remove(IShape).
- Nakonec uložte aktualizovaný soubor prezentace.
Následující ukázka kódu ukazuje, jak odebrat obrazce ze snímku aplikace PowerPoint v Pythonu.
# Načíst prezentaci
with slides.Presentation("add-ellipse.pptx") as presentation:
# Získejte první snímek
sld = presentation.slides[0]
alttext = "User Defined"
# Procházejte tvary
for i in range(len(sld.shapes)):
# Najděte tvar podle alternativního textu
ashp = sld.shapes[0]
if ashp.alternative_text == alttext:
sld.shapes.remove(ashp)
# Uložení souboru
presentation.save("remove-shapes.pptx", slides.export.SaveFormat.PPTX)
Práce s tvary v PowerPoint PPT – získejte bezplatnou licenci
Můžete získat bezplatnou dočasnou licenci pro manipulaci s tvary aplikace PowerPoint bez omezení hodnocení.
Závěr
MS PowerPoint podporuje řadu tvarů pro vytváření různých typů diagramů, jako jsou vývojové diagramy. V tomto článku jsme se zabývali tím, jak vytvořit PowerPoint tvary, jako jsou elipsy a obdélníky, a jak je propojit pomocí konektorů v Pythonu. Navíc jste se naučili, jak programově klonovat a odstraňovat tvary ze snímků aplikace PowerPoint.
Python PowerPoint API – Přečtěte si více
Více o Aspose.Slides pro Python můžete prozkoumat pomocí dokumentace. Můžete nám také sdělit své dotazy prostřednictvím našeho fóra.