WordArt‑Effekte in Python erstellen und anwenden
Über WordArt?
WordArt oder Word Art ist eine Funktion, mit der Sie Texteffekte anwenden können, damit Texte hervorstechen. Mit WordArt können Sie beispielsweise einen Text umreißen oder mit einer Farbe (oder einem Farbverlauf) füllen, 3D‑Effekte hinzufügen usw. Außerdem können Sie die Form eines Textes kippen, biegen und strecken.
WordArt in Microsoft PowerPoint
Um WordArt in Microsoft PowerPoint zu verwenden, müssen Sie eine der vordefinierten WordArt‑Vorlagen auswählen. Eine WordArt‑Vorlage ist ein Satz von Effekten, die auf einen Text oder dessen Form angewendet werden.
WordArt in Aspose.Slides
In Aspose.Slides für Python via .NET 20.10 haben wir die Unterstützung für WordArt implementiert und die Funktion in nachfolgenden Aspose.Slides‑Versionen für Python via .NET verbessert.
Mit Aspose.Slides für Python via .NET können Sie ganz einfach Ihre eigene WordArt‑Vorlage (ein einzelner Effekt oder eine Kombination von Effekten) in Python erstellen und auf Texte anwenden.
Erstellen einer einfachen WordArt‑Vorlage und Anwenden auf einen Text
Verwendung von Aspose.Slides
Zunächst erstellen wir einen einfachen Text mit folgendem Python‑Code:
import aspose.slides as slides
with slides.Presentation() as pres:
slide = pres.slides[0]
autoShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 200, 400, 200)
textFrame = autoShape.text_frame
portion = textFrame.paragraphs[0].portions[0]
portion.text = "Aspose.Slides"
pres.save("wordart-1.pptx", slides.export.SaveFormat.PPTX)
Nun setzen wir die Schriftgröße des Textes auf einen größeren Wert, um den Effekt deutlicher zu machen, mit diesem Code:
fontData = slides.FontData("Arial Black")
portion.portion_format.latin_font = fontData
portion.portion_format.font_height = 36
Verwendung von Microsoft PowerPoint
Gehen Sie zum WordArt‑Effektmenü in Microsoft PowerPoint:

Im rechten Menü können Sie einen vordefinierten WordArt‑Effekt auswählen. Im linken Menü können Sie die Einstellungen für ein neues WordArt festlegen.
Dies sind einige der verfügbaren Parameter oder Optionen:

Verwendung von Aspose.Slides
Hier wenden wir die SmallGrid‑Musterfarbe auf den Text an und fügen mit diesem Code einen schwarzen Textrahmen mit Breite 1 hinzu:
portion.portion_format.fill_format.fill_type = slides.FillType.PATTERN
portion.portion_format.fill_format.pattern_format.fore_color.color = draw.Color.dark_orange
portion.portion_format.fill_format.pattern_format.back_color.color = draw.Color.white
portion.portion_format.fill_format.pattern_format.pattern_style = slides.PatternStyle.SMALL_GRID
portion.portion_format.line_format.fill_format.fill_type = slides.FillType.SOLID
portion.portion_format.line_format.fill_format.solid_fill_color.color = draw.Color.black
Der resultierende Text:

Anwenden weiterer WordArt‑Effekte
Verwendung von Microsoft PowerPoint
Über die Programmoberfläche können Sie diese Effekte auf einen Text, Textblock, eine Form oder ein ähnliches Element anwenden:

Beispielsweise können Schatten-, Reflexions‑ und Leuchteffekte auf einen Text angewendet werden; 3D‑Format‑ und 3D‑Dreh‑Effekte können auf einen Textblock angewendet werden; die Eigenschaft „Soft Edges“ kann auf ein Formobjekt angewendet werden (sie bleibt wirksam, wenn keine 3D‑Format‑Eigenschaft gesetzt ist).
Anwenden von Schatteneffekten
Hier setzen wir nur Eigenschaften, die einen Text betreffen. Wir wenden den Schatteneffekt auf einen Text mit folgendem Python‑Code an:
portion.portion_format.effect_format.enable_outer_shadow_effect()
portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color = draw.Color.black
portion.portion_format.effect_format.outer_shadow_effect.scale_horizontal = 100
portion.portion_format.effect_format.outer_shadow_effect.scale_vertical = 65
portion.portion_format.effect_format.outer_shadow_effect.blur_radius = 4.73
portion.portion_format.effect_format.outer_shadow_effect.direction = 230
portion.portion_format.effect_format.outer_shadow_effect.distance = 2
portion.portion_format.effect_format.outer_shadow_effect.skew_horizontal = 30
portion.portion_format.effect_format.outer_shadow_effect.skew_vertical = 0
portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color_transform.add(slides.ColorTransformOperation.SET_ALPHA, 0.32)
Die Aspose.Slides‑API unterstützt drei Schattenarten: OuterShadow, InnerShadow und PresetShadow.
Mit PresetShadow können Sie einen Schatten für einen Text anwenden (unter Verwendung vordefinierter Werte).
Verwendung von Microsoft PowerPoint
In PowerPoint können Sie nur einen Schatten‑Typ verwenden. Beispiel:

Verwendung von Aspose.Slides
Aspose.Slides erlaubt tatsächlich das gleichzeitige Anwenden zweier Schattenarten: InnerShadow und PresetShadow.
Hinweise:
- Wenn OuterShadow und PresetShadow zusammen verwendet werden, wird nur der OuterShadow‑Effekt angewendet.
- Wenn OuterShadow und InnerShadow gleichzeitig verwendet werden, hängt der resultierende Effekt von der PowerPoint‑Version ab. In PowerPoint 2013 wird der Effekt verdoppelt, in PowerPoint 2007 wird nur der OuterShadow‑Effekt angewendet.
Anwenden von Anzeigeeffekten auf Texte
Wir fügen dem Text über dieses Python‑Beispiel Anzeigeeffekte hinzu:
portion.portion_format.effect_format.enable_reflection_effect()
portion.portion_format.effect_format.reflection_effect.blur_radius = 0.5
portion.portion_format.effect_format.reflection_effect.distance = 4.72
portion.portion_format.effect_format.reflection_effect.start_pos_alpha = 0
portion.portion_format.effect_format.reflection_effect.end_pos_alpha = 60
portion.portion_format.effect_format.reflection_effect.direction = 90
portion.portion_format.effect_format.reflection_effect.scale_horizontal = 100
portion.portion_format.effect_format.reflection_effect.scale_vertical = -100
portion.portion_format.effect_format.reflection_effect.start_reflection_opacity = 60
portion.portion_format.effect_format.reflection_effect.end_reflection_opacity = 0.9
portion.portion_format.effect_format.reflection_effect.rectangle_align = slides.RectangleAlignment.BOTTOM_LEFT
Anwenden von Leuchteffekten auf Texte
Wir wenden den Leuchteffekt auf den Text an, damit er glänzt oder hervorgehoben wird, mit folgendem Code:
portion.portion_format.effect_format.enable_glow_effect()
portion.portion_format.effect_format.glow_effect.color.r = 255
portion.portion_format.effect_format.glow_effect.color.color_transform.add(slides.ColorTransformOperation.SET_ALPHA, 0.54)
portion.portion_format.effect_format.glow_effect.radius = 7
Das Ergebnis:

Verwendung von Transformationen in WordArt
Wir verwenden die Transform‑Eigenschaft (gilt für den gesamten Textblock) mit folgendem Code:
textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR
Das Ergebnis:

Verwendung von PowerPoint
Um vordefinierte Transformationstypen aufzurufen, gehen Sie über: Format → TextEffect → Transform
Verwendung von Aspose.Slides
Zum Auswählen eines Transformationstyps verwenden Sie das Enum TextShapeType.
Anwenden von 3D‑Effekten auf Texte und Formen
Wir setzen einen 3D‑Effekt auf eine Textform mit folgendem Beispielcode:
autoShape.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE
autoShape.three_d_format.bevel_bottom.height = 10.5
autoShape.three_d_format.bevel_bottom.width = 10.5
autoShape.three_d_format.bevel_top.bevel_type = slides.BevelPresetType.CIRCLE
autoShape.three_d_format.bevel_top.height = 12.5
autoShape.three_d_format.bevel_top.width = 11
autoShape.three_d_format.extrusion_color.color = draw.Color.orange
autoShape.three_d_format.extrusion_height = 6
autoShape.three_d_format.contour_color.color = draw.Color.dark_red
autoShape.three_d_format.contour_width = 1.5
autoShape.three_d_format.depth = 3
autoShape.three_d_format.material = slides.MaterialPresetType.PLASTIC
autoShape.three_d_format.light_rig.direction = slides.LightingDirection.TOP
autoShape.three_d_format.light_rig.light_type = slides.LightRigPresetType.BALANCED
autoShape.three_d_format.light_rig.set_rotation(0, 0, 40)
autoShape.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING
Der resultierende Text und seine Form:

Wir wenden mit diesem Python‑Code einen 3D‑Effekt auf den Text an:
textFrame.text_frame_format.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE
textFrame.text_frame_format.three_d_format.bevel_bottom.height = 3.5
textFrame.text_frame_format.three_d_format.bevel_bottom.width = 3.5
textFrame.text_frame_format.three_d_format.bevel_top.bevel_type = slides.BevelPresetType.CIRCLE
textFrame.text_frame_format.three_d_format.bevel_top.height = 4
textFrame.text_frame_format.three_d_format.bevel_top.width = 4
textFrame.text_frame_format.three_d_format.extrusion_color.color = draw.Color.orange
textFrame.text_frame_format.three_d_format.extrusion_height= 6
textFrame.text_frame_format.three_d_format.contour_color.color = draw.Color.dark_red
textFrame.text_frame_format.three_d_format.contour_width = 1.5
textFrame.text_frame_format.three_d_format.depth= 3
textFrame.text_frame_format.three_d_format.material = slides.MaterialPresetType.PLASTIC
textFrame.text_frame_format.three_d_format.light_rig.direction = slides.LightingDirection.TOP
textFrame.text_frame_format.three_d_format.light_rig.light_type = slides.LightRigPresetType.BALANCED
textFrame.text_frame_format.three_d_format.light_rig.set_rotation(0, 0, 40)
textFrame.text_frame_format.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING
Das Ergebnis:

Die Anwendung von 3D‑Effekten auf Texte oder deren Formen sowie die Interaktion zwischen Effekten folgen bestimmten Regeln.
Betrachten Sie eine Szene für einen Text und die Form, die diesen Text enthält. Der 3D‑Effekt umfasst die 3D‑Objektdarstellung und die Szene, in der das Objekt platziert ist.
- Wenn die Szene sowohl für die Figur als auch für den Text gesetzt ist, hat die Figur‑Szene höhere Priorität – die Text‑Szene wird ignoriert.
- Wenn die Figur keine eigene Szene hat, aber eine 3D‑Darstellung, wird die Text‑Szene verwendet.
- Andernfalls – wenn die Form ursprünglich keinen 3D‑Effekt hat – ist die Form flach und der 3D‑Effekt wird nur auf den Text angewendet.
Die Beschreibungen beziehen sich auf die Eigenschaften ThreeDFormat.LightRig und ThreeDFormat.Camera.
Äußere Schatteneffekte auf Texte anwenden
Aspose.Slides für Python via .NET stellt die Klassen IOuterShadow und IInnerShadow bereit, mit denen Sie Schatteneffekte auf einen Text in einem TextFrame anwenden können. Gehen Sie wie folgt vor:
- Erstellen Sie eine Instanz der Presentation‑Klasse.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie der Folie ein AutoShape vom Typ Rectangle hinzu.
- Greifen Sie auf das TextFrame des AutoShape zu.
- Setzen Sie den FillType des AutoShape auf NoFill.
- Instanziieren Sie die OuterShadow‑Klasse.
- Setzen Sie den BlurRadius des Schattens.
- Setzen Sie die Direction des Schattens.
- Setzen Sie den Distance des Schattens.
- Setzen Sie RectanglelAlign auf TopLeft.
- Setzen Sie die PresetColor des Schattens auf Black.
- Schreiben Sie die Präsentation als PPTX‑Datei.
Dieser Beispielcode in Python – eine Umsetzung der oben genannten Schritte – zeigt, wie Sie den äußeren Schatteneffekt auf einen Text anwenden:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
# Referenz der Folie holen
sld = pres.slides[0]
# AutoShape vom Typ Rechteck hinzufügen
ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 150, 50)
# TextFrame zum Rechteck hinzufügen
ashp.add_text_frame("Aspose TextBox")
# Shape-Füllung deaktivieren, falls wir den Schatten des Textes erhalten wollen
ashp.fill_format.fill_type = slides.FillType.NO_FILL
# Äußeren Schatten hinzufügen und alle notwendigen Parameter setzen
ashp.effect_format.enable_outer_shadow_effect()
shadow = ashp.effect_format.outer_shadow_effect
shadow.blur_radius = 4.0
shadow.direction = 45
shadow.distance = 3
shadow.rectangle_align = slides.RectangleAlignment.TOP_LEFT
shadow.shadow_color.preset_color = slides.PresetColor.BLACK
#Präsentation auf die Festplatte schreiben
pres.save("pres_out.pptx", slides.export.SaveFormat.PPTX)
Inneren Schatteneffekt auf Formen anwenden
Gehen Sie wie folgt vor:
- Erstellen Sie eine Instanz der Presentation‑Klasse.
- Holen Sie sich die Referenz der Folie.
- Fügen Sie ein AutoShape vom Typ Rectangle hinzu.
- Aktivieren Sie InnerShadowEffect.
- Setzen Sie alle notwendigen Parameter.
- Setzen Sie ColorType auf Scheme.
- Setzen Sie die Scheme Color.
- Schreiben Sie die Präsentation als PPTX‑Datei.
Dieser Beispielcode (basierend auf den obigen Schritten) zeigt, wie Sie in Python einen Connector zwischen zwei Formen hinzufügen:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
# Referenz einer Folie holen
slide = presentation.slides[0]
# AutoShape vom Typ Rechteck hinzufügen
ashp = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 400, 300)
ashp.fill_format.fill_type = slides.FillType.NO_FILL
# TextFrame zum Rechteck hinzufügen
ashp.add_text_frame("Aspose TextBox")
port = ashp.text_frame.paragraphs[0].portions[0]
pf = port.portion_format
pf.font_height = 50
# inner_shadow_effect aktivieren
ef = pf.effect_format
ef.enable_inner_shadow_effect()
# Alle notwendigen Parameter setzen
ef.inner_shadow_effect.blur_radius = 8.0
ef.inner_shadow_effect.direction = 90.0
ef.inner_shadow_effect.distance = 6.0
ef.inner_shadow_effect.shadow_color.b = 189
# ColorType auf Scheme setzen
ef.inner_shadow_effect.shadow_color.color_type = slides.ColorType.SCHEME
# Scheme-Farbe setzen
ef.inner_shadow_effect.shadow_color.scheme_color = slides.SchemeColor.ACCENT1
# Präsentation speichern
presentation.save("WordArt_out.pptx", slides.export.SaveFormat.PPTX)
FAQ
Kann ich WordArt‑Effekte mit unterschiedlichen Schriftarten oder Skripten (z. B. Arabisch, Chinesisch) verwenden?
Ja, Aspose.Slides unterstützt Unicode und funktioniert mit allen gängigen Schriftarten und Skripten. WordArt‑Effekte wie Schatten, Füllung und Kontur können unabhängig von der Sprache angewendet werden, wobei die Verfügbarkeit und Darstellung von der Systemschrift abhängen kann.
Kann ich WordArt‑Effekte auf Elemente des Folien‑Masters anwenden?
Ja, Sie können WordArt‑Effekte auf Formen im Master‑Folienlayout anwenden, einschließlich Titelplatzhaltern, Fußzeilen oder Hintergrundtexten. Änderungen am Master‑Layout werden auf alle zugehörigen Folien übertragen.
Beeinflussen WordArt‑Effekte die Dateigröße der Präsentation?
Leicht. WordArt‑Effekte wie Schatten, Leuchten und Farbverläufe können die Dateigröße geringfügig erhöhen, da zusätzliche Formatierungs‑Metadaten gespeichert werden, aber der Unterschied ist in der Regel vernachlässigbar.
Kann ich das Ergebnis von WordArt‑Effekten sehen, ohne die Präsentation zu speichern?
Ja, Sie können Folien mit WordArt in Bilder (z. B. PNG, JPEG) rendern, indem Sie die get_image‑Methode der Shape‑ oder Slide‑Klassen verwenden. Damit können Sie das Ergebnis im Speicher oder auf dem Bildschirm prüfen, bevor Sie die vollständige Präsentation speichern oder exportieren.