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-fossSteg 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 frameEn 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.CENTERStø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