Schriftarten in Präsentationen mit Python via Java verwalten

Übersicht

Aspose.Slides ermöglicht es Ihnen, Schriftarteigenschaften im Präsentationstext direkt aus Ihrem Code zu verwalten. Sie können über Formen, Textfelder, Absätze und Portionen auf den Text in Folien zugreifen und anschließend die Formatierung auf den ausgewählten Text anwenden.

Dieser Artikel erklärt, wie Sie schriftbezogene Eigenschaften für vorhandenen Text in einer Präsentation konfigurieren, einschließlich Schriftfamilie, Fett‑ und Kursivstil, Absatzausrichtung und Schriftfarbe. Außerdem wird gezeigt, wie Sie ein Textfeld erstellen, Text hinzufügen und Schriftarteneigenschaften wie Schriftfamilie, Fett, Kursiv, Unterstreichen, Schriftgröße und Farbe festlegen, bevor Sie das Ergebnis als PPTX-Datei speichern.

Schriftbezogene Eigenschaften verwalten

Um Schriftarteigenschaften eines Absatzes mit Aspose.Slides für Python via Java zu verwalten:

  1. Erstellen Sie eine Instanz der Klasse Presentation.
  2. Holen Sie sich eine Referenz auf eine Folie, indem Sie deren Index verwenden.
  3. Greifen Sie auf die Placeholder-Formen in der Folie als AutoShape zu.
  4. Rufen Sie das Paragraph aus dem von AutoShape bereitgestellten TextFrame ab.
  5. Richten Sie den Absatz aus.
  6. Greifen Sie auf den Text‑Portion eines Paragraph zu.
  7. Definieren Sie die Schriftart mit FontData und setzen Sie die Font des Text‑Portion entsprechend.
    1. Setzen Sie die Schriftart auf Fett.
    2. Setzen Sie die Schriftart auf Kursiv.
  8. Setzen Sie die Schriftfarbe mit dem von dem Portion‑Objekt bereitgestellten FillFormat.
  9. Speichern Sie die geänderte Präsentation als PPTX-Datei.

Die Implementierung der oben genannten Schritte ist unten dargestellt. Sie nimmt eine unveränderte Präsentation und formatiert die Schriften auf einer der Folien. Die folgenden Screenshots zeigen die Eingabedatei und wie die Code‑Snippets sie verändern. Der Code ändert die Schrift, die Farbe und den Schriftstil.

Text in the input presentation
Abbildung: Der Text in der Eingabedatei
Text with updated font formatting
Abbildung: Derselbe Text mit aktualisierter Formatierung
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, FontData, NullableBool, Presentation, SaveFormat, TextAlignment
from java.awt import Color

# Präsentation laden.
presentation = Presentation("FontProperties.pptx")
try:
    # Greifen Sie auf die erste Folie und die Textfelder ihrer ersten beiden Platzhalter zu.
    slide = presentation.getSlides().get_Item(0)
    title_text_frame = slide.getShapes().get_Item(0).getTextFrame()
    body_text_frame = slide.getShapes().get_Item(1).getTextFrame()

    # Greifen Sie auf den ersten Absatz in jedem Textfeld zu.
    title_paragraph = title_text_frame.getParagraphs().get_Item(0)
    body_paragraph = body_text_frame.getParagraphs().get_Item(0)
    body_paragraph.getParagraphFormat().setAlignment(TextAlignment.JustifyLow)

    # Greifen Sie auf den ersten Abschnitt in jedem Absatz zu.
    title_portion = title_paragraph.getPortions().get_Item(0)
    body_portion = body_paragraph.getPortions().get_Item(0)

    # Definieren und zuweisen neuer Schriftarten.
    title_font = FontData("Elephant")
    body_font = FontData("Castellar")
    title_portion.getPortionFormat().setLatinFont(title_font)
    body_portion.getPortionFormat().setLatinFont(body_font)

    # Schriftarten fett und kursiv setzen.
    title_portion.getPortionFormat().setFontBold(NullableBool.True_)
    body_portion.getPortionFormat().setFontBold(NullableBool.True_)
    title_portion.getPortionFormat().setFontItalic(NullableBool.True_)
    body_portion.getPortionFormat().setFontItalic(NullableBool.True_)

    # Schriftfarben setzen.
    title_portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
    title_portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)
    body_portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
    body_portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.GREEN)

    # Präsentation speichern.
    presentation.save("WelcomeFont.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Text‑Schriftart‑Eigenschaften festlegen

Um ein Textfeld zu erstellen und die Schriftarteigenschaften des darin enthaltenen Textes festzulegen:

  1. Erstellen Sie eine Instanz der Klasse Presentation.
  2. Holen Sie sich die Referenz einer Folie, indem Sie deren Index verwenden.
  3. Fügen Sie der Folie ein AutoShape vom Typ Rectangle hinzu.
  4. Entfernen Sie den Füllstil, der mit dem AutoShape verknüpft ist.
  5. Greifen Sie auf das TextFrame des AutoShape zu.
  6. Fügen Sie dem TextFrame etwas Text hinzu.
  7. Greifen Sie auf das mit dem TextFrame verbundene Portion-Objekt zu.
  8. Definieren Sie die für das Portion zu verwendende Schriftart.
  9. Setzen Sie weitere Schriftarteigenschaften wie Fett, Kursiv, Unterstreichen, Farbe und Größe mithilfe der entsprechenden Eigenschaften, die vom Portion-Objekt bereitgestellt werden.
  10. Schreiben Sie die geänderte Präsentation als PPTX-Datei.

Die Implementierung der oben genannten Schritte ist unten dargestellt.

Text with font properties applied
Abbildung: Text mit einigen von Aspose.Slides für Python via Java eingestellten Schriftarteigenschaften
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, FontData, NullableBool, Presentation, SaveFormat, ShapeType, TextUnderlineType
from java.awt import Color

presentation = Presentation()
try:
    # Die erste Folie holen und ein Rechteck hinzufügen.
    slide = presentation.getSlides().get_Item(0)
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 50)

    # Die Füllung der Form entfernen.
    shape.getFillFormat().setFillType(FillType.NoFill)

    # Text zum Textfeld der Form hinzufügen.
    text_frame = shape.getTextFrame()
    text_frame.setText("Aspose TextBox")
    portion = text_frame.getParagraphs().get_Item(0).getPortions().get_Item(0)

    # Schriftfamilie festlegen.
    font = FontData("Times New Roman")
    portion.getPortionFormat().setLatinFont(font)

    # Fett, kursiv, unterstreichen und Schriftgröße festlegen.
    portion.getPortionFormat().setFontBold(NullableBool.True_)
    portion.getPortionFormat().setFontItalic(NullableBool.True_)
    portion.getPortionFormat().setFontUnderline(TextUnderlineType.Single)
    portion.getPortionFormat().setFontHeight(25)

    # Schriftfarbe festlegen.
    portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
    portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)

    # Präsentation speichern.
    presentation.save("pptxFont.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()