Rajzolási segédvonalak kezelése prezentációkban PHP-ben

Áttekintés

A rajzolási segédvonalak állítható vízszintes és függőleges vonalak, amelyek segítik a felhasználókat a formák következetes igazításában a PowerPoint‑ban végzett prezentációszerkesztés során. Különösen hasznosak, ha egy alkalmazás generál egy prezentációt, amelyet később kézzel finomítanak: az alkalmazás elmentheti ugyanazokat az igazítási segédleteket, amelyeket a szerzőknek követniük kell a tartalom hozzáadásakor vagy mozgatásakor.

A rajzolási segédvonalak szerkesztési segédeszközök, nem dia tartalom. Nem jelennek meg diavetítésben vagy a megjelenített kimenetben. Az Aspose.Slides for PHP via Java a DrawingGuidesCollection osztályon keresztül teszi elérhetővé őket. Egy segédvonalat a DrawingGuide képvisel, és rendelkezik tájolással, pozícióval és színnel.

A pozíciót pontban mérik a megfelelő dia vagy mester bal felső sarkától számítva. A függőleges segédvonal vízszintes koordinátát használ, általában 0 és a dia szélessége között. A vízszintes segédvonal függőleges koordinátát használ, általában 0 és a dia magassága között.

Segédvonalak hozzáadása a dia nézethez

Használja a CommonSlideViewProperties::getDrawingGuides metódust a normál diák szerkesztése során megjelenő segédvonalak kezeléséhez. Hívja a DrawingGuidesCollection::add metódust egy Orientation értékkel és pontban megadott pozícióval.

Az alábbi példa egy függőleges segédvonalat ad a dia középpontja jobb oldalához, és egy vízszintes segédvonalat alá:

use aspose\slides\Orientation;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation();
try {
    $slideSize = $presentation->getSlideSize()->getSize();
    $slideWidth = java_values($slideSize->getWidth());
    $slideHeight = java_values($slideSize->getHeight());
    $guides = $presentation->getViewProperties()->getSlideViewProperties()->getDrawingGuides();

    $guides->add(Orientation::Vertical, $slideWidth / 2 + 12.5);
    $guides->add(Orientation::Horizontal, $slideHeight / 2 + 12.5);

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

A rajzolási segédvonalak elérése

A DrawingGuidesCollection::getCount és a DrawingGuidesCollection::get_Item metódusok hozzáférést biztosítanak a meglévő segédvonalakhoz. A DrawingGuide::getOrientation, a DrawingGuide::getPosition és a DrawingGuide::getColor metódusok értékeket adnak vissza, amelyeket a megfelelő setter metódusokkal is módosíthat.

Az alábbi példa beolvassa a fent létrehozott prezentáció dia‑nézetének segédvonalait:

use aspose\slides\Presentation;

$presentation = new Presentation("drawing-guides.pptx");
try {
    $guides = $presentation->getViewProperties()->getSlideViewProperties()->getDrawingGuides();
    $guideCount = java_values($guides->getCount());

    for ($index = 0; $index < $guideCount; $index++) {
        $guide = $guides->get_Item($index);
        $orientation = java_values($guide->getOrientation());
        $position = java_values($guide->getPosition());
        $color = java_values($guide->getColor()->toString());
        echo sprintf("Guide %d: orientation = %d, position = %.2f, color = %s", $index, $orientation, $position, $color) . PHP_EOL;
    }
} finally {
    $presentation->dispose();
}

Segédvonalak hozzáadása mester- és elrendezési diákhoz

A diák mester és minden egyes elrendezési dia saját rajzolási segédvonal-gyűjteménnyel rendelkezhet. Használja a MasterSlide::getDrawingGuides metódust egy mester dia esetén, és a LayoutSlide::getDrawingGuides metódust egy elrendezési dia esetén.

Az alábbi példa egy függőleges segédvonalat ad az első mester diához, és egy vízszintes segédvonalat az első elrendezési diához:

use aspose\slides\Orientation;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation();
try {
    $slideSize = $presentation->getSlideSize()->getSize();
    $slideWidth = java_values($slideSize->getWidth());
    $slideHeight = java_values($slideSize->getHeight());
    $masterGuides = $presentation->getMasters()->get_Item(0)->getDrawingGuides();
    $layoutGuides = $presentation->getLayoutSlides()->get_Item(0)->getDrawingGuides();

    $masterGuides->add(Orientation::Vertical, $slideWidth / 2 - 20);
    $layoutGuides->add(Orientation::Horizontal, $slideHeight / 2 + 20);

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

Segédvonalak hozzáadása jegyzet‑ és szórólap‑mesterekhez

A jegyzet mesterek és a szórólap mesterek is támogatják a rajzolási segédvonalakat. Használja a MasterNotesSlide::getDrawingGuides és a MasterHandoutSlide::getDrawingGuides metódusokat a gyűjteményeik eléréséhez. Ha a prezentáció nem tartalmazza ezeket a mestereket, a megfelelő kezelőt a Presentation::getMasterNotesSlideManager vagy a Presentation::getMasterHandoutSlideManager segítségével kérheti le, majd hozza létre az alapértelmezett mestert a setDefaultMasterNotesSlide vagy setDefaultMasterHandoutSlide segítségével.

Az alábbi példa egy vízszintes segédvonalat ad egy jegyzetmesterhez, és egy függőleges segédvonalat egy szórólapmesterhez:

use aspose\slides\Orientation;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation();
try {
    $notesSize = $presentation->getNotesSize()->getSize();
    $notesWidth = java_values($notesSize->getWidth());
    $notesHeight = java_values($notesSize->getHeight());
    $notesMaster = $presentation->getMasterNotesSlideManager()->setDefaultMasterNotesSlide();
    $handoutMaster = $presentation->getMasterHandoutSlideManager()->setDefaultMasterHandoutSlide();

    $notesMaster->getDrawingGuides()->add(Orientation::Horizontal, $notesHeight / 2 + 50);
    $handoutMaster->getDrawingGuides()->add(Orientation::Vertical, $notesWidth / 2 - 50);

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

Rajzolási segédvonalak törlése

Hívja a DrawingGuidesCollection::clear metódust egy adott gyűjtemény minden segédvonalának eltávolításához. Egy gyűjtemény törlése nem befolyásolja a másik területen tárolt segédvonalakat.

Az alábbi példa törli a dia‑nézet segédvonalait, valamint minden segédvonalat a diák mesterekről, elrendezési diákról, a jegyzetmesterről és a szórólapmesterről, anélkül hogy hiányzó mestereket hozna létre:

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

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

    $masterCount = java_values($presentation->getMasters()->size());
    for ($index = 0; $index < $masterCount; $index++) {
        $presentation->getMasters()->get_Item($index)->getDrawingGuides()->clear();
    }

    $layoutCount = java_values($presentation->getLayoutSlides()->size());
    for ($index = 0; $index < $layoutCount; $index++) {
        $presentation->getLayoutSlides()->get_Item($index)->getDrawingGuides()->clear();
    }

    $notesMaster = $presentation->getMasterNotesSlideManager()->getMasterNotesSlide();
    if (!java_is_null($notesMaster)) {
        $notesMaster->getDrawingGuides()->clear();
    }

    $handoutMaster = $presentation->getMasterHandoutSlideManager()->getMasterHandoutSlide();
    if (!java_is_null($handoutMaster)) {
        $handoutMaster->getDrawingGuides()->clear();
    }

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

GYIK

Megjelennek a rajzolási segédvonalak diavetítésben vagy exportált képeken?

Nem. A rajzolási segédvonalak szerkesztési igazítási eszközök, és nem jelennek meg a prezentáció tartalmaként.

Hozzáadható a rajzolási segédvonal közvetlenül egy egyedi normál diához?

A normál diák szerkesztési segédvonalai a prezentáció dia‑nézet tulajdonságaiban tárolódnak. Külön segédvonal-gyűjtemények állnak rendelkezésre a diák mestereken, elrendezési diákon, jegyzetmestereken és szórólapmestereken.

Milyen egységek használatosak a segédvonalak pozíciójához?

A pozíciókat pontban adjuk meg, ahol 72 pont egy hüvelyknek felel meg. A függőleges pozíciókat a bal szélből, a vízszintes pozíciókat a felső szélből mérik.

Eltávolítja-e a rajzolási segédvonalak törlése az alakzatokat vagy módosítja a dia tartalmát?

Nem. A DrawingGuidesCollection::clear metódus csak a kiválasztott gyűjteményben lévő segédvonalakat távolítja el. Az alakzatok és a többi dia tartalma változatlan marad.