Sådan formaterer du tekst i Python
Aspose.Slides FOSS for Python provides fine-grained text formatting through the PortionFormat klasse. En Portion er den mindste uafhængige enhed af tekst; den svarer til en enkelt formateringssekvens inden for et afsnit. Denne vejledning viser, hvordan man anvender fed, kursiv, skriftstørrelse og farveformatering på tekst i en præsentation.
Trin-for-trin guide
Trin 1: Installer pakken
pip install aspose-slides-fossTrin 2: Tilføj en form med en tekstramme
Før du formaterer tekst, skal en form indeholde en TextFrame. Brug shape.add_text_frame() for at oprette 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)Trin 3: Få adgang til TextFrame
shape.add_text_frame() returnerer TextFrame objekt. 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 indeholder en liste over Paragraph objekter (tf.paragraphs). Hver Paragraph indeholder Portion objekter (paragraph.portions).
Trin 4: Anvend fed og kursiv formatering
Brug portion_format.font_bold og portion_format.font_italic. Disse egenskaber accepterer NullableBool.TRUE, NullableBool.FALSE, eller NullableBool.NOT_DEFINED (arv 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)Trin 5: Indstil skriftstørrelse og farve
Indstil portion_format.font_height for størrelse (i punkter) og brug fill_format for farve.
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) accepterer værdier 0–255 for hver kanal.
Trin 6: Flere Portioner i ét afsnit
Et enkelt afsnit kan indeholde flere dele med forskellig formatering. Tilføj en ny Portion til et afsnits 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)Almindelige problemer og løsninger
Teksten vises sort, selv efter farven er indstillet
Sørg for fill_format.fill_type = FillType.SOLID er indstillet, før farven tildeles. Uden at indstille udfyldningstypen kan farveændringen muligvis ikke have nogen effekt.
NullableBool.TRUE vs True
portion_format.font_bold forventer NullableBool.TRUE, ikke Python True. Tildeling af Python True kan udløse en TypeError eller stille gøre ingenting afhængigt af bindingen.
Skrifttypen vises ikke i den gemte fil
Den latin_font egenskab angiver den latinske skrifttypefamilie. Hvis den ikke er indstillet, bruges præsentationstemaets skrifttype. Tilpassede skrifttyper skal indlejres eller være tilgængelige på den maskine, der viser præsentationen.
Ofte stillede spørgsmål
Hvordan ændrer jeg skrifttypefamilien?
Indstil portion_format.latin_font:
fmt.latin_font = slides.FontData("Arial")FontData accepterer skrifttypefamilienavnet som en streng.
Hvordan indstiller jeg afsnitsjustering?
Brug paragraph_format.alignment:
from aspose.slides_foss import TextAlignment
tf.paragraphs[0].paragraph_format.alignment = TextAlignment.CENTERUnderstøttede værdier: LEFT, CENTER, RIGHT, JUSTIFY.
Hvordan indstiller jeg linjeafstand?
Brug paragraph_format.space_before (punkter før afsnit) eller paragraph_format.space_after (punkter efter afsnit):
tf.paragraphs[0].paragraph_format.space_before = 12 # 12pt before
tf.paragraphs[0].paragraph_format.space_after = 6 # 6pt after