Beheer lettertypen in presentaties met Python via Java

Overzicht

Aspose.Slides stelt u in staat om lettertype‑eigenschappen in presentatietekst rechtstreeks vanuit uw code te beheren. U kunt toegang krijgen tot tekst in dia’s via vormen, tekstframes, alinea’s en delen, en vervolgens de opmaak op de geselecteerde tekst toepassen.

Dit artikel legt uit hoe u lettertype‑gerelateerde eigenschappen voor bestaande tekst in een presentatie kunt configureren, inclusief lettertypefamilie, vet en cursief, alinea‑uitlijning en letterkleur. Het laat ook zien hoe u een tekstvak maakt, er tekst aan toevoegt en lettertype‑eigenschappen zoals lettertypefamilie, vet, cursief, onderstrepen, lettergrootte en kleur instelt voordat u het resultaat opslaat als een PPTX‑bestand.

Lettertype‑gerelateerde eigenschappen beheren

Om de lettertype‑eigenschappen van een alinea te beheren met Aspose.Slides for Python via Java:

  1. Maak een instantie van de Presentation‑klasse.
  2. Verkrijg een referentie naar een dia door de index te gebruiken.
  3. Toegang tot de Placeholder‑vormen in de dia als AutoShape.
  4. Haal de Paragraph op uit het TextFrame dat wordt blootgesteld door de AutoShape.
  5. Stel de alinea uit.
  6. Toegang tot de tekst‑Portion van een Paragraph.
  7. Definieer het lettertype met FontData en stel de Font van de tekst‑Portion dienovereenkomstig in.
    1. Maak het lettertype vet.
    2. Maak het lettertype cursief.
  8. Stel de letterkleur in met de FillFormat die wordt blootgesteld door het Portion-object.
  9. Sla de aangepaste presentatie op als een PPTX‑bestand.

De implementatie van de bovenstaande stappen staat hieronder. Het neemt een onbewerkte presentatie en past de lettertypen op een van de dia’s aan. De schermafbeeldingen hieronder tonen het invoerbestand en hoe de codefragmenten dit wijzigen. De code verandert het lettertype, de kleur en de lettertype‑stijl.

Text in the input presentation
Figuur: De tekst in het invoerbestand
Text with updated font formatting
Figuur: Dezelfde tekst met bijgewerkte opmaak
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

# Laad de presentatie.
presentation = Presentation("FontProperties.pptx")
try:
    # Toegang tot de eerste dia en de tekstframes van de eerste twee placeholder‑objecten.
    slide = presentation.getSlides().get_Item(0)
    title_text_frame = slide.getShapes().get_Item(0).getTextFrame()
    body_text_frame = slide.getShapes().get_Item(1).getTextFrame()

    # Toegang tot de eerste alinea in elk tekstframe.
    title_paragraph = title_text_frame.getParagraphs().get_Item(0)
    body_paragraph = body_text_frame.getParagraphs().get_Item(0)
    body_paragraph.getParagraphFormat().setAlignment(TextAlignment.JustifyLow)

    # Toegang tot het eerste gedeelte in elke alinea.
    title_portion = title_paragraph.getPortions().get_Item(0)
    body_portion = body_paragraph.getPortions().get_Item(0)

    # Definieer en wijs nieuwe lettertypen toe.
    title_font = FontData("Elephant")
    body_font = FontData("Castellar")
    title_portion.getPortionFormat().setLatinFont(title_font)
    body_portion.getPortionFormat().setLatinFont(body_font)

    # Stel de lettertypen in op vet en cursief.
    title_portion.getPortionFormat().setFontBold(NullableBool.True_)
    body_portion.getPortionFormat().setFontBold(NullableBool.True_)
    title_portion.getPortionFormat().setFontItalic(NullableBool.True_)
    body_portion.getPortionFormat().setFontItalic(NullableBool.True_)

    # Stel de lettertypekleuren in.
    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)

    # Sla de presentatie op.
    presentation.save("WelcomeFont.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Tekst‑lettertype‑eigenschappen instellen

Om een tekstvak te maken en de lettertype‑eigenschappen van de tekst daarin in te stellen:

  1. Maak een instantie van de Presentation‑klasse.
  2. Verkrijg de referentie van een dia door de index te gebruiken.
  3. Voeg een AutoShape van het type Rectangle toe aan de dia.
  4. Verwijder de opvulstijl die is gekoppeld aan de AutoShape.
  5. Toegang tot het TextFrame van de AutoShape.
  6. Voeg wat tekst toe aan het TextFrame.
  7. Toegang tot het Portion‑object dat is gekoppeld aan het TextFrame.
  8. Definieer het lettertype dat moet worden gebruikt voor de Portion.
  9. Stel andere lettertype‑eigenschappen in, zoals vet, cursief, onderstrepen, kleur en hoogte, met behulp van de relevante eigenschappen die worden blootgesteld door het Portion-object.
  10. Schrijf de aangepaste presentatie weg als een PPTX‑bestand.

De implementatie van de bovenstaande stappen staat hieronder.

Text with font properties applied
Figuur: Tekst met sommige lettertype‑eigenschappen ingesteld door Aspose.Slides for Python via Java
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:
    # Haal de eerste dia op en voeg een rechthoek toe.
    slide = presentation.getSlides().get_Item(0)
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 50)

    # Verwijder de opvulling van de vorm.
    shape.getFillFormat().setFillType(FillType.NoFill)

    # Voeg tekst toe aan het tekstframe van de vorm.
    text_frame = shape.getTextFrame()
    text_frame.setText("Aspose TextBox")
    portion = text_frame.getParagraphs().get_Item(0).getPortions().get_Item(0)

    # Stel de lettertypefamilie in.
    font = FontData("Times New Roman")
    portion.getPortionFormat().setLatinFont(font)

    # Stel vet, cursief, onderstrepen en lettergrootte in.
    portion.getPortionFormat().setFontBold(NullableBool.True_)
    portion.getPortionFormat().setFontItalic(NullableBool.True_)
    portion.getPortionFormat().setFontUnderline(TextUnderlineType.Single)
    portion.getPortionFormat().setFontHeight(25)

    # Stel de letterkleur in.
    portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
    portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)

    # Sla de presentatie op.
    presentation.save("pptxFont.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()