Zarządzanie liniami pomocniczymi w prezentacjach w JavaScript

Przegląd

Linie pomocnicze są regulowanymi poziomymi i pionowymi liniami, które pomagają użytkownikom wyrównywać kształty konsekwentnie podczas edytowania prezentacji w programie 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ównywania, których autorzy powinni przestrzegać przy dodawaniu lub przemieszczaniu treści.

Linie pomocnicze są narzędziami edycyjnymi, a nie treścią slajdu. Nie pojawiają się w pokazie slajdów ani w renderowanym wyjściu. Aspose.Slides for Node.js via Java udostępnia je poprzez klasę DrawingGuidesCollection. Linia pomocnicza jest reprezentowana przez DrawingGuide i posiada orientację, pozycję oraz kolor.

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

Dodawanie linii pomocniczych do widoku slajdu

Użyj CommonSlideViewProperties.getDrawingGuides aby zarządzać liniami pomocniczymi wyświetlanymi podczas edytowania zwykłych slajdów. Wywołaj DrawingGuidesCollection.add z wartością Orientation oraz pozycją w punktach.

Poniższy przykład dodaje jedną pionową linię pomocniczą po prawej stronie środka slajdu oraz jedną poziomą linię pomocniczą pod nią:

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation();
try {
    const slideSize = presentation.getSlideSize().getSize();
    const guides = presentation.getViewProperties().getSlideViewProperties().getDrawingGuides();

    guides.add(slides.Orientation.Vertical, slideSize.getWidth() / 2 + 12.5);
    guides.add(slides.Orientation.Horizontal, slideSize.getHeight() / 2 + 12.5);

    presentation.save("drawing-guides.pptx", slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Dostęp do linii pomocniczych

Metody DrawingGuidesCollection.getCount oraz DrawingGuidesCollection.get_Item zapewniają dostęp do istniejących linii pomocniczych. Metody DrawingGuide.getOrientation, DrawingGuide.getPosition i DrawingGuide.getColor zwracają wartości, które można również zmienić za pomocą odpowiednich metod ustawiających.

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

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation("drawing-guides.pptx");
try {
    const guides = presentation.getViewProperties().getSlideViewProperties().getDrawingGuides();

    for (let index = 0; index < guides.getCount(); index++) {
        const guide = guides.get_Item(index);
        console.log("Guide " + index + ": orientation = " + guide.getOrientation() + ", position = " + guide.getPosition() + ", color = " + guide.getColor());
    }
} finally {
    presentation.dispose();
}

Dodawanie linii pomocniczych do slajdów wzorca i układu

Wzorzec slajdu oraz każdy z jego slajdów układu mogą mieć własne kolekcje linii pomocniczych. Użyj MasterSlide.getDrawingGuides dla slajdu wzorca oraz LayoutSlide.getDrawingGuides dla slajdu układu.

Poniższy przykład dodaje pionową linię pomocniczą do pierwszego slajdu wzorca oraz poziomą linię pomocniczą do pierwszego slajdu układu:

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation();
try {
    const slideSize = presentation.getSlideSize().getSize();
    const masterGuides = presentation.getMasters().get_Item(0).getDrawingGuides();
    const layoutGuides = presentation.getLayoutSlides().get_Item(0).getDrawingGuides();

    masterGuides.add(slides.Orientation.Vertical, slideSize.getWidth() / 2 - 20);
    layoutGuides.add(slides.Orientation.Horizontal, slideSize.getHeight() / 2 + 20);

    presentation.save("master-layout-drawing-guides.pptx", slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Dodawanie linii pomocniczych do wzorców notatek i materiałów rozdawniczych

Wzorce notatek i materiały rozdawnicze również obsługują linie pomocnicze. Użyj MasterNotesSlide.getDrawingGuides oraz MasterHandoutSlide.getDrawingGuides aby uzyskać dostęp do ich kolekcji. Jeśli prezentacja nie zawiera jednego z tych wzorców, MasterNotesSlideManager.setDefaultMasterNotesSlide lub MasterHandoutSlideManager.setDefaultMasterHandoutSlide tworzy domyślny wzorzec i zwraca go.

Poniższy przykład dodaje poziomą linię pomocniczą do wzorca notatek oraz pionową linię pomocniczą do wzorca materiałów rozdawniczych:

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation();
try {
    const notesSize = presentation.getNotesSize().getSize();
    const notesMaster = presentation.getMasterNotesSlideManager().setDefaultMasterNotesSlide();
    const handoutMaster = presentation.getMasterHandoutSlideManager().setDefaultMasterHandoutSlide();

    notesMaster.getDrawingGuides().add(slides.Orientation.Horizontal, notesSize.getHeight() / 2 + 50);
    handoutMaster.getDrawingGuides().add(slides.Orientation.Vertical, notesSize.getWidth() / 2 - 50);

    presentation.save("notes-handout-drawing-guides.pptx", slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Usuwanie linii pomocniczych

Wywołaj DrawingGuidesCollection.clear aby usunąć wszystkie linie pomocnicze z danej kolekcji. Czyszczenie jednej kolekcji nie wpływa na linie pomocnicze przechowywane w innym zakresie.

Poniższy przykład usuwa linie pomocnicze widoku slajdu oraz wszystkie linie pomocnicze na wzorcach slajdów, slajdach układu, wzorcu notatek i wzorcu materiałów rozdawniczych, nie tworząc brakujących wzorców:

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation("presentation-with-guides.pptx");
try {
    presentation.getViewProperties().getSlideViewProperties().getDrawingGuides().clear();

    for (let index = 0; index < presentation.getMasters().size(); index++) {
        presentation.getMasters().get_Item(index).getDrawingGuides().clear();
    }

    for (let index = 0; index < presentation.getLayoutSlides().size(); index++) {
        presentation.getLayoutSlides().get_Item(index).getDrawingGuides().clear();
    }

    const notesMaster = presentation.getMasterNotesSlideManager().getMasterNotesSlide();
    if (notesMaster !== null) {
        notesMaster.getDrawingGuides().clear();
    }

    const handoutMaster = presentation.getMasterHandoutSlideManager().getMasterHandoutSlide();
    if (handoutMaster !== null) {
        handoutMaster.getDrawingGuides().clear();
    }

    presentation.save("presentation-without-guides.pptx", slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

FAQ

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

Nie. Linie pomocnicze są narzędziami wyrównywania podczas edycji i nie są renderowane jako zawartość prezentacji.

Czy linię pomocniczą można dodać bezpośrednio do pojedynczego zwykłego slajdu?

Linie pomocnicze edycji zwykłych slajdów są przechowywane w właściwościach widoku slajdu prezentacji. Oddzielne kolekcje linii pomocniczych są dostępne dla wzorców slajdów, slajdów układu, wzorców notatek i wzorców materiałów rozdawniczych.

Jakie jednostki są używane dla pozycji linii pomocniczych?

Pozycje podawane są w punktach, gdzie 72 punkty równa się jednemu calowi. Pozycje pionowe mierzone są od lewego brzegu, a pozycje poziome od górnego brzegu.

Czy usuwanie linii pomocniczych usuwa kształty lub zmienia zawartość slajdu?

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