Beheer SmartArt-afbeeldingen in presentaties met PHP
Overzicht
Aspose.Slides stelt u in staat om programmatisch SmartArt‑afbeeldingen te maken en te beheren in PowerPoint‑presentaties. Deze artikel legt uit hoe u een SmartArt‑vorm aan een dia toevoegt, bestaande SmartArt‑vormen benadert, SmartArt vindt op basis van een specifiek lay‑outtype en het uiterlijk bijwerkt door de SmartArt‑stijl of kleurstijl te wijzigen.
De voorbeelden laten zien hoe u met SmartArt‑vormen werkt via de vormcollectie van de presentatiedia, controleert of een vorm SmartArt is en vervolgens de eigenschappen wijzigt of inspecteert.
Maak een SmartArt‑vorm
Aspose.Slides for PHP via Java biedt een API om SmartArt‑vormen te maken. Volg de onderstaande stappen om een SmartArt‑vorm in een dia te maken:
- Maak een instantie van de klasse Presentation.
- Verkrijg de referentie van een dia door gebruik te maken van de Index.
- Voeg een SmartArt‑vorm toe door het LayoutType in te stellen.
- Sla de aangepaste presentatie op als een PPTX‑bestand.
# Maak een instantie van de Presentation-klasse
$pres = new Presentation();
try {
# Haal de eerste dia op
$slide = $pres->getSlides()->get_Item(0);
# Voeg een SmartArt-vorm toe
$smart = $slide->getShapes()->addSmartArt(0, 0, 400, 400, SmartArtLayoutType::BasicBlockList);
# Sla de presentatie op
$pres->save("SimpleSmartArt.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
![]() |
|---|
| Figuur: SmartArt‑vorm toegevoegd aan de dia |
Toegang tot een SmartArt‑vorm op een dia
De volgende code wordt gebruikt om de SmartArt‑vormen die aan de presentatiedia zijn toegevoegd te benaderen. In de voorbeeldcode lopen we door elke vorm in de dia en controleren we of het een SmartArt‑vorm is. Als de vorm van het type SmartArt is, casten we deze naar een SmartArt‑instantie.
# Laad de gewenste presentatie
$pres = new Presentation("AccessSmartArtShape.pptx");
try {
# Doorloop elke vorm in de eerste dia
foreach($pres->getSlides()->get_Item(0)->getShapes() as $shape) {
# Controleer of de vorm van het type SmartArt is
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# Cast de vorm naar SmartArtEx
$smart = $shape;
echo("Shape Name:" . $smart->getName());
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Toegang tot een SmartArt‑vorm met een specifiek lay‑outtype
De volgende voorbeeldcode helpt om de SmartArt‑vorm met een bepaald LayoutType te benaderen. Houd er rekening mee dat u het LayoutType van de SmartArt niet kunt wijzigen, omdat het alleen‑lezen is en alleen wordt ingesteld wanneer de SmartArt‑vorm wordt toegevoegd.
- Maak een instantie van de klasse Presentation en laad de presentatie met een SmartArt‑vorm.
- Verkrijg de referentie van de eerste dia door gebruik te maken van de Index.
- Loop door elke vorm in de eerste dia.
- Controleer of de vorm van het type SmartArt is en cast de geselecteerde vorm naar SmartArt als het SmartArt is.
- Controleer de SmartArt‑vorm met het specifieke LayoutType en voer daarna de benodigde handelingen uit.
$pres = new Presentation("AccessSmartArtShape.pptx");
try {
# Doorloop elke vorm in de eerste dia
foreach($pres->getSlides()->get_Item(0)->getShapes() as $shape) {
# Controleer of de vorm van het type SmartArt is
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# Cast de vorm naar SmartArtEx
$smart = $shape;
# Controle van SmartArt-layout
if ($smart->getLayout() == SmartArtLayoutType::BasicBlockList) {
echo("Do some thing here....");
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Wijzig de stijl van een SmartArt‑vorm
In dit voorbeeld leren we hoe we de snelle stijl van een SmartArt‑vorm kunnen wijzigen.
- Maak een instantie van de klasse Presentation en laad de presentatie met een SmartArt‑vorm.
- Verkrijg de referentie van de eerste dia door gebruik te maken van de Index.
- Loop door elke vorm in de eerste dia.
- Controleer of de vorm van het type SmartArt is en cast de geselecteerde vorm naar SmartArt als het SmartArt is.
- Zoek de SmartArt‑vorm met een specifieke stijl.
- Stel de nieuwe stijl in voor de SmartArt‑vorm.
- Sla de presentatie op.
# Maak een instantie van de Presentation-klasse
$pres = new Presentation("SimpleSmartArt.pptx");
try {
# Haal de eerste dia op
$slide = $pres->getSlides()->get_Item(0);
# Doorloop elke vorm in de eerste dia
foreach($slide->getShapes() as $shape) {
# Controleer of de vorm van het type SmartArt is
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# Cast de vorm naar SmartArtEx
$smart = $shape;
# Controle van SmartArt-stijl
if ($smart->getQuickStyle() == SmartArtQuickStyleType::SimpleFill) {
# Wijziging van SmartArt-stijl
$smart->setQuickStyle(SmartArtQuickStyleType::Cartoon);
}
}
}
# Sla de presentatie op
$pres->save("ChangeSmartArtStyle.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
![]() |
|---|
| Figuur: SmartArt‑vorm met gewijzigde stijl |
Wijzig de kleurstijl van een SmartArt‑vorm
In dit voorbeeld leren we hoe we de kleurstijl van een SmartArt‑vorm kunnen wijzigen. In de volgende voorbeeldcode benaderen we de SmartArt‑vorm met een specifieke kleurstijl en wijzigen we deze.
- Maak een instantie van de klasse Presentation en laad de presentatie met een SmartArt‑vorm.
- Verkrijg de referentie van de eerste dia door gebruik te maken van de Index.
- Loop door elke vorm in de eerste dia.
- Controleer of de vorm van het type SmartArt is en cast de geselecteerde vorm naar SmartArt als het SmartArt is.
- Zoek de SmartArt‑vorm met een specifieke kleurstijl.
- Stel de nieuwe kleurstijl in voor de SmartArt‑vorm.
- Sla de presentatie op.
# Maak een instantie van de Presentation-klasse
$pres = new Presentation("SimpleSmartArt.pptx");
try {
# Haal de eerste dia op
$slide = $pres->getSlides()->get_Item(0);
# Doorloop elke vorm in de eerste dia
foreach($slide->getShapes() as $shape) {
# Controleer of de vorm van het type SmartArt is
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# Cast de vorm naar SmartArtEx
$smart = $shape;
# Controle van SmartArt-kleurtype
if ($smart->getColorStyle() == SmartArtColorType::ColoredFillAccent1) {
# Wijziging van SmartArt-kleurtype
$smart->setColorStyle(SmartArtColorType::ColorfulAccentColors);
}
}
}
# Sla de presentatie op
$pres->save("ChangeSmartArtColorStyle.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
![]() |
|---|
| Figuur: SmartArt‑vorm met gewijzigde kleurstijl |
FAQ
Kan ik SmartArt als één object animeren?
Ja. SmartArt is een vorm, dus u kunt standaardanimaties toepassen via de animaties‑API (invoer, uitgang, nadruk, bewegingspaden) net als bij andere vormen.
Hoe kan ik een specifieke SmartArt op een dia vinden als ik de interne ID niet ken?
Stel de alternatieve tekst (AltText) in en gebruik deze om naar de vorm te zoeken—dit is een aanbevolen manier om de doelvorm te vinden.
Kan ik SmartArt groeperen met andere vormen?
Ja. U kunt SmartArt groeperen met andere vormen (afbeeldingen, tabellen, enz.) en vervolgens de groep manipuleren.
Hoe krijg ik een afbeelding van een specifieke SmartArt (bijvoorbeeld voor een voorbeeld of rapport)?
Exporteer een miniatuur/afbeelding van de vorm; de bibliotheek kan individuele vormen renderen naar rasterbestanden (PNG/JPG/TIFF).
Wordt het uiterlijk van SmartArt behouden bij het converteren van de hele presentatie naar PDF?
Ja. De renderengine streeft naar hoge getrouwheid voor PDF‑export, met diverse kwaliteits‑ en compatibiliteitsopties.

