Hvordan formatere tekst i Python

Hvordan formatere tekst i Python

Aspose.Slides FOSS for Python gir finjustert tekstformatering gjennom PortionFormat-klassen. En Portion er den minste uavhengige enheten av tekst; den tilsvarer en enkelt formateringskjøring innenfor et avsnitt. Denne guiden viser hvordan du bruker fet, kursiv, skriftstørrelse og fargeformatering på tekst i en presentasjon.

Trinn-for-trinn guide

Steg 1: Installer pakken

pip install aspose-slides-foss

Steg 2: Legg til en figur med en tekstramme

Før du formaterer tekst, må en form inneholde en TextFrame. Bruk shape.add_text_frame() for å opprette en.

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Default text: will be formatted")
    prs.save("output.pptx", SaveFormat.PPTX)

Steg 3: Få tilgang til TextFrame

shape.add_text_frame() returnerer TextFrame‑objektet. Du kan også hente det senere via shape.text_frame.

tf = shape.text_frame          # if the frame already exists
tf = shape.add_text_frame("") # creates a new frame

En TextFrame inneholder en liste med Paragraph-objekter (tf.paragraphs). Hvert Paragraph inneholder Portion-objekter (paragraph.portions).


Trinn 4: Bruk fet og kursiv formatering

Bruk portion_format.font_bold og portion_format.font_italic. Disse egenskapene godtar NullableBool.TRUE, NullableBool.FALSE eller NullableBool.NOT_DEFINED (arver fra master).

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Bold and italic text")

    fmt = tf.paragraphs[0].portions[0].portion_format
    fmt.font_bold = NullableBool.TRUE
    fmt.font_italic = NullableBool.TRUE

    prs.save("bold-italic.pptx", SaveFormat.PPTX)

Trinn 5: Angi skriftstørrelse og farge

Angi portion_format.font_height for størrelse (i punkter) og bruk fill_format for farge.

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Large corporate-blue heading")

    fmt = tf.paragraphs[0].portions[0].portion_format
    fmt.font_height = 32                          # 32pt font
    fmt.font_bold = NullableBool.TRUE
    fmt.fill_format.fill_type = FillType.SOLID
    fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)

    prs.save("colored-text.pptx", SaveFormat.PPTX)

Color.from_argb(alpha, red, green, blue) aksepterer verdier 0–255 for hver kanal.


Steg 6: Flere deler i ett avsnitt

Et enkelt avsnitt kan inneholde flere deler med forskjellig formatering. Legg til en ny Portion i et avsnitts portions‑samling:

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 600, 100)
    tf = shape.add_text_frame("")  # start with empty frame

    paragraph = tf.paragraphs[0]

    # First portion: normal text
    portion1 = paragraph.portions[0]
    portion1.text = "Normal text followed by "
    portion1.portion_format.font_height = 20

    # Second portion: bold red text
    portion2 = slides.Portion()
    portion2.text = "bold red text"
    portion2.portion_format.font_height = 20
    portion2.portion_format.font_bold = NullableBool.TRUE
    portion2.portion_format.fill_format.fill_type = FillType.SOLID
    portion2.portion_format.fill_format.solid_fill_color.color = Color.from_argb(255, 200, 0, 0)
    paragraph.portions.add(portion2)

    prs.save("mixed-format.pptx", SaveFormat.PPTX)

Vanlige problemer og løsninger

Tekst vises svart selv etter å ha satt farge

Sørg for at fill_format.fill_type = FillType.SOLID er satt før du tilordner fargen. Uten å sette fylltypen, kan fargeendringen ha ingen effekt.

NullableBool.TRUE vs True

portion_format.font_bold forventer NullableBool.TRUE, ikke Python True. Å tildele Python True kan utløse en TypeError eller stille gjøre ingenting avhengig av bindingen.

Skrift vises ikke i den lagrede filen

latin_font‑egenskapen angir den latinske skrifttypefamilien. Hvis den ikke er angitt, brukes presentasjonstemaets skrifttype. Tilpassede skrifttyper må være innebygd eller tilgjengelige på visningsmaskinen.


Ofte stilte spørsmål

Hvordan endrer jeg skrifttypefamilien?

Angi portion_format.latin_font:

fmt.latin_font = slides.FontData("Arial")

FontData godtar fontfamilienavnet som en streng.

Hvordan setter jeg avsnittsjustering?

Bruk paragraph_format.alignment:

from aspose.slides_foss import TextAlignment

tf.paragraphs[0].paragraph_format.alignment = TextAlignment.CENTER

Støttede verdier: LEFT, CENTER, RIGHT, JUSTIFY.

Hvordan setter jeg linjeavstand?

Bruk paragraph_format.space_before (punkter før avsnitt) eller paragraph_format.space_after (punkter etter avsnitt):

tf.paragraphs[0].paragraph_format.space_before = 12   # 12pt before
tf.paragraphs[0].paragraph_format.space_after = 6     # 6pt after

Se også

 Norsk