Správa zástupců prezentace v PHP
Přehled
Aspose.Slides vám umožňuje programově spravovat zástupce (placeholder) v prezentacích. Tento článek vysvětluje, jak na snímcích najít zástupce a změnit jejich text, nastavit vlastní výzvu textu pro rozložení zástupců a upravit průhlednost obrázku použitého jako pozadí zástupce. Obsahuje také krátké FAQ, které objasňuje rozdíl mezi základními zástupci a lokálními tvary, vysvětluje, jak lze změny zástupců aplikovat prostřednictvím rozložení nebo hlavních snímků, a odkazuje na správu zástupců záhlaví a patičky.
Změna textu ve zástupci
Pomocí Aspose.Slides pro PHP přes Java můžete na snímcích v prezentacích najít a upravit zástupce. Aspose.Slides vám umožňuje měnit text ve zástupci.
Předpoklad: Potřebujete prezentaci, která obsahuje zástupce. Takovou prezentaci můžete vytvořit v běžné aplikaci Microsoft PowerPoint.
Takto pomocí Aspose.Slides nahradíte text ve zástupci v dané prezentaci:
- Vytvořte instanci třídy
Presentationa předávejte prezentaci jako argument. - Získejte referenci na snímek pomocí jeho indexu.
- Procházejte tvary a vyhledejte zástupce.
- Přetypujte tvar zástupce na
AutoShapea změňte text pomocíTextFrame, který je spojený sAutoShape. - Uložte upravenou prezentaci.
Tento PHP kód ukazuje, jak změnit text ve zástupci:
# Vytvoří instanci třídy Presentation
$pres = new Presentation("ReplacingText.pptx");
try {
# Přistupuje k prvnímu snímku
$sld = $pres->getSlides()->get_Item(0);
# Prochází tvary a hledá zástupce
foreach($sld->getShapes() as $shp) {
if (!java_is_null($shp->getPlaceholder())) {
# Mění text v každém zástupci
$shp->getTextFrame()->setText("This is Placeholder");
}
}
# Uloží prezentaci na disk
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Nastavení výzvy textu ve zástupci
Standardní a předpřipravená rozložení obsahují výzvy textu jako Click to add a title nebo Click to add a subtitle. Pomocí Aspose.Slides můžete do rozložení zástupců vložit vlastní výzvy textu.
Tento PHP kód ukazuje, jak nastavit výzvu textu ve zástupci:
$pres = new Presentation("Presentation.pptx");
try {
$slide = $pres->getSlides()->get_Item(0);
# Prochází snímek
foreach($slide->getSlide()->getShapes() as $shape) {
if (java_instanceof($shape->getPlaceholder()) != null && $shape, new JavaClass("com.aspose.slides.AutoShape")) {
$text = "";
# PowerPoint zobrazuje "Klikněte pro přidání nadpisu"
if ($shape->getPlaceholder()->getType() == PlaceholderType::CenteredTitle) {
$text = "Add Title";
} else // Přidá podnadpis
if ($shape->getPlaceholder()->getType() == PlaceholderType::Subtitle) {
$text = "Add Subtitle";
}
$shape->getTextFrame()->setText($text);
echo("Placeholder with text: " . $text);
}
}
$pres->save("Placeholders_PromptText.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Nastavení průhlednosti obrázku ve zástupci
Aspose.Slides umožňuje nastavit průhlednost obrázku na pozadí textového zástupce. Úpravou průhlednosti obrázku v takovém rámečku můžete zvýraznit text nebo obrázek (v závislosti na barvách textu a obrázku).
Tento PHP kód ukazuje, jak nastavit průhlednost pozadí obrázku (uvnitř tvaru):
$presentation = new Presentation("example.pptx");
$shape = $presentation->getSlides()->get_Item(0)->getShapes()->get_Item(0);
$operationCollection = $shape->getFillFormat()->getPictureFillFormat()->getPicture()->getImageTransform();
for($i = 0; $i < java_values($operationCollection->size()) ; $i++) {
if (java_instanceof($operationCollection->get_Item($i)), new JavaClass("com.aspose.slides.AlphaModulateFixed")) {
$alphaModulate = $operationCollection->get_Item($i);
$currentValue = 100 - $alphaModulate->getAmount();
echo("Current transparency value: " . $currentValue);
$alphaValue = 40;
$alphaModulate->setAmount(100 - $alphaValue);
}
}
$presentation->save("example_out.pptx", SaveFormat::Pptx);
FAQ
Co je základní zástupce a jak se liší od lokálního tvaru na snímku?
Základní zástupce je původní tvar v rozložení nebo hlavním snímku, ze kterého dědí tvar snímku – typ, umístění a některé formátování pochází z něj. Lokální tvar je samostatný; pokud neexistuje základní zástupce, dědění se neuplatní.
Jak mohu aktualizovat všechny nadpisy nebo popisky v celé prezentaci, aniž bych procházel každý snímek?
Upravte odpovídající zástupce v rozložení nebo v hlavním snímku. Snímky založené na těchto rozloženích/hlavním snímku automaticky zdědí změnu.
Jak mohu řídit standardní zástupce záhlaví/pati – datum a čas, číslo snímku a text patičky?
Použijte správce HeaderFooter v odpovídajícím rozsahu (normální snímky, rozložení, hlavní snímek, poznámky/letáky) k zapnutí nebo vypnutí těchto zástupců a nastavení jejich obsahu.