Zarządzanie liniami prowadzącymi w prezentacjach w Pythonie

Przegląd

Linie prowadzące to regulowane linie poziome i pionowe, które pomagają użytkownikom konsekwentnie wyrównywać kształty podczas edycji prezentacji w PowerPoint. Są szczególnie przydatne, gdy aplikacja generuje prezentację, którą później będzie ręcznie dopracowywać: aplikacja może zapisać te same pomoce wyrównujące, których autorzy powinni się trzymać przy dodawaniu lub przemieszczaniu treści.

Linie prowadzące są pomocnikami edycji, a nie treścią slajdu. Nie pojawiają się podczas pokazu slajdów ani w wyjściu renderowanym. Aspose.Slides for Python via .NET udostępnia je za pośrednictwem interfejsu IDrawingGuidesCollection . Linia prowadząca jest reprezentowana przez IDrawingGuide i posiada orientację, pozycję oraz kolor.

Pozycja jest mierzona w punktach od lewego górnego narożnika odpowiedniego slajdu lub mastera. Pionowa linia prowadząca używa współrzędnej poziomej, zazwyczaj pomiędzy zerem a szerokością slajdu. Pozioma linia prowadząca używa współrzędnej pionowej, zazwyczaj pomiędzy zerem a wysokością slajdu.

Dodawanie linii prowadzących w widoku slajdu

Użyj ICommonSlideViewProperties.drawing_guides aby zarządzać liniami prowadzącymi wyświetlanymi podczas edycji zwykłych slajdów. Wywołaj IDrawingGuidesCollection.add z wartością Orientation oraz pozycją w punktach.

Poniższy przykład dodaje jedną pionową linię prowadzącą po prawej stronie środka slajdu oraz jedną poziomą linię prowadzącą poniżej niego:

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)

Dostęp do linii prowadzących

Właściwość i indeksator IDrawingGuidesCollection.count umożliwiają dostęp do istniejących linii prowadzących. Właściwości IDrawingGuide.orientation, IDrawingGuide.position i IDrawingGuide.color mogą być odczytywane lub modyfikowane.

Poniższy przykład odczytuje linie prowadzące widoku slajdu z prezentacji utworzonej powyżej:

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

Dodawanie linii prowadzących do mastera i slajdów układu

Master slajdu i każdy z jego slajdów układu mogą mieć własne kolekcje linii prowadzących. Użyj IMasterSlide.drawing_guides dla mastera slajdu oraz ILayoutSlide.drawing_guides dla slajdu układu.

Poniższy przykład dodaje pionową linię prowadzącą do pierwszego mastera slajdu i poziomą linię prowadzącą do pierwszego slajdu układu:

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)

Dodawanie linii prowadzących do masterów notatek i wersji rozdawniczych

Mastery notatek i mastery wersji rozdawniczych również obsługują linie prowadzące. Użyj IMasterNotesSlide.drawing_guides i IMasterHandoutSlide.drawing_guides aby uzyskać dostęp do ich kolekcji. Jeśli prezentacja nie zawiera jednego z tych masterów, IMasterNotesSlideManager.set_default_master_notes_slide lub IMasterHandoutSlideManager.set_default_master_handout_slide tworzy domyślny master i zwraca go.

Poniższy przykład dodaje poziomą linię prowadzącą do mastera notatek i pionową linię prowadzącą do mastera wersji rozdawniczej:

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)

Czyszczenie linii prowadzących

Wywołaj IDrawingGuidesCollection.clear aby usunąć każdą linię prowadzącą z konkretnej kolekcji. Czyszczenie jednej kolekcji nie wpływa na linie prowadzące przechowywane w innym zakresie.

Poniższy przykład czyści linie prowadzące widoku slajdu oraz wszystkie linie prowadzące na masterach slajdów, slajdach układu, masterze notatek i masterze wersji rozdawniczej, nie tworząc brakujących masterów:

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)

FAQ

Czy linie prowadzące pojawiają się w pokazie slajdów lub wyeksportowanych obrazach?

Nie. Linie prowadzące są pomocnikami wyrównania podczas edycji i nie są renderowane jako treść prezentacji.

Czy linię prowadzącą można dodać bezpośrednio do pojedynczego normalnego slajdu?

Linie prowadzące edycji normalnych slajdów są przechowywane w właściwościach widoku slajdu prezentacji. Oddzielne kolekcje linii prowadzących są dostępne dla masterów slajdów, slajdów układu, masterów notatek i masterów wersji rozdawniczych.

Jakie jednostki są używane dla pozycji linii prowadzących?

Pozycje podawane są w punktach, gdzie 72 punkty równa się jednemu calowi. Pozycje pionowe mierzone są od lewej krawędzi, a pozycje poziome od górnej krawędzi.

Czy czyszczenie linii prowadzących usuwa kształty lub zmienia treść slajdu?

Nie. Metoda clear usuwa tylko linie prowadzące w wybranej kolekcji. Kształty i inne elementy slajdu pozostają niezmienione.