Správa kreslicích vodítek v prezentacích v Pythonu
Přehled
Vodítka jsou nastavitelnými horizontálními a vertikálními čarami, které pomáhají uživatelům konzistentně zarovnávat tvary během úprav prezentace v PowerPointu. Jsou obzvláště užitečná, když aplikace generuje prezentaci, která bude později ručně doladěna: aplikace může uložit stejná zarovnávací vodítka, která by autoři měli dodržovat při přidávání nebo přesouvání obsahu.
Vodítka jsou pomocníky při úpravách, nikoli obsahem snímků. Neobjevují se v prezentaci ani ve vykresleném výstupu. Aspose.Slides pro Python přes .NET je zpřístupňuje prostřednictvím rozhraní IDrawingGuidesCollection . Vodítko je reprezentováno pomocí IDrawingGuide a má orientaci, pozici a barvu.
Pozice se měří v bodech od levého horního rohu příslušného snímku nebo masteru. Vertikální vodítko používá horizontální souřadnici, obvykle mezi nulou a šířkou snímku. Horizontální vodítko používá vertikální souřadnici, obvykle mezi nulou a výškou snímku.
Přidání vodítek do zobrazení snímku
Použijte ICommonSlideViewProperties.drawing_guides pro správu vodítek zobrazovaných při úpravách běžných snímků. Zavolejte IDrawingGuidesCollection.add s hodnotou Orientation a pozicí v bodech.
Následující příklad přidá jedno vertikální vodítko napravo od středu snímku a jedno horizontální vodítko pod ním:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide_size = presentation.slide_size.size
guides = presentation.view_properties.slide_view_properties.drawing_guides
guides.add(slides.Orientation.VERTICAL, slide_size.width / 2 + 12.5)
guides.add(slides.Orientation.HORIZONTAL, slide_size.height / 2 + 12.5)
presentation.save("drawing-guides.pptx", slides.export.SaveFormat.PPTX)
Přístup k vodítkům
Vlastnost a indexer IDrawingGuidesCollection.count poskytují přístup k existujícím vodítkům. Vlastnosti IDrawingGuide.orientation, IDrawingGuide.position a IDrawingGuide.color lze číst nebo měnit.
Následující příklad načte vodítka zobrazení snímku z výše vytvořené prezentace:
import aspose.slides as slides
with slides.Presentation("drawing-guides.pptx") as presentation:
guides = presentation.view_properties.slide_view_properties.drawing_guides
for index in range(guides.count):
guide = guides[index]
print(f"Guide {index}: orientation = {guide.orientation}, position = {guide.position}, color = {guide.color}")
Přidání vodítek do masteru a rozvrhových snímků
Master snímek a každý jeho rozvrhový snímek mohou mít své vlastní kolekce vodítek. Použijte IMasterSlide.drawing_guides pro master snímek a ILayoutSlide.drawing_guides pro rozvrhový snímek.
Následující příklad přidá vertikální vodítko na první master snímek a horizontální vodítko na první rozvrhový snímek:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide_size = presentation.slide_size.size
master_guides = presentation.masters[0].drawing_guides
layout_guides = presentation.layout_slides[0].drawing_guides
master_guides.add(slides.Orientation.VERTICAL, slide_size.width / 2 - 20)
layout_guides.add(slides.Orientation.HORIZONTAL, slide_size.height / 2 + 20)
presentation.save("master-layout-drawing-guides.pptx", slides.export.SaveFormat.PPTX)
Přidání vodítek do masterů poznámek a podkladů
Mastery poznámek a podkladů také podporují vodítka. Použijte IMasterNotesSlide.drawing_guides a IMasterHandoutSlide.drawing_guides pro přístup k jejich kolekcím. Pokud prezentace neobsahuje některý z těchto masterů, IMasterNotesSlideManager.set_default_master_notes_slide nebo IMasterHandoutSlideManager.set_default_master_handout_slide vytvoří výchozí master a vrátí jej.
Následující příklad přidá horizontální vodítko do masteru poznámek a vertikální vodítko do masteru podkladů:
import aspose.slides as slides
with slides.Presentation() as presentation:
notes_size = presentation.notes_size.size
notes_master = presentation.master_notes_slide_manager.set_default_master_notes_slide()
handout_master = presentation.master_handout_slide_manager.set_default_master_handout_slide()
notes_master.drawing_guides.add(slides.Orientation.HORIZONTAL, notes_size.height / 2 + 50)
handout_master.drawing_guides.add(slides.Orientation.VERTICAL, notes_size.width / 2 - 50)
presentation.save("notes-handout-drawing-guides.pptx", slides.export.SaveFormat.PPTX)
Odstranění vodítek
Zavolejte IDrawingGuidesCollection.clear pro odstranění všech vodítek z konkrétní kolekce. Vyprázdnění jedné kolekce neovlivní vodítka uložená v jiné oblasti.
Následující příklad vyprázdní vodítka zobrazení snímku a všechna vodítka na master snímcích, rozvrhových snímcích, masteru poznámek a masteru podkladů, aniž by vytvořil chybějící mastery:
import aspose.slides as slides
with slides.Presentation("presentation-with-guides.pptx") as presentation:
presentation.view_properties.slide_view_properties.drawing_guides.clear()
for master_slide in presentation.masters:
master_slide.drawing_guides.clear()
for layout_slide in presentation.layout_slides:
layout_slide.drawing_guides.clear()
notes_master = presentation.master_notes_slide_manager.master_notes_slide
if notes_master is not None:
notes_master.drawing_guides.clear()
handout_master = presentation.master_handout_slide_manager.master_handout_slide
if handout_master is not None:
handout_master.drawing_guides.clear()
presentation.save("presentation-without-guides.pptx", slides.export.SaveFormat.PPTX)
Často kladené otázky
Objevují se vodítka v prezentaci nebo exportovaných obrázcích?
Ne. Vodítka jsou pomocníky pro zarovnání při úpravách a nejsou vykreslena jako obsah prezentace.
Lze vodítko přidat přímo k jednotlivému běžnému snímku?
Vodítka pro úpravy běžných snímků jsou uložena v vlastnostech zobrazení snímku prezentace. Samostatné kolekce vodítek jsou dostupné pro master snímky, rozvrhové snímky, mastery poznámek a mastery podkladů.
Jaké jednotky se používají pro pozice vodítek?
Pozice jsou uváděny v bodech, kde 72 bodů odpovídá jednomu palci. Vertikální pozice se měří od levého okraje a horizontální pozice od horního okraje.
Odstranění vodítek odstraní tvary nebo změní obsah snímku?
Ne. Metoda clear odstraňuje pouze vodítka ve vybrané kolekci. Tvary a další obsah snímku zůstávají beze změny.