Kā formatēt tekstu Python valodā
Aspose.Slides FOSS for Python nodrošina smalku teksta formatēšanu, izmantojot PortionFormat klasi. Portion ir mazākā neatkarīgā teksta vienība; tā atbilst vienam formatēšanas posmam rindkopā. Šis ceļvedis parāda, kā prezentācijā uz teksta piemērot treknrakstu, slīprakstu, fonta lielumu un krāsas formatēšanu.
Rokasgrāmata soli pa solim
1. solis: Instalējiet pakotni
pip install aspose-slides-foss2. solis: Pievienot formu ar teksta rāmju
Pirms teksta formatēšanas formai jābūt TextFrame. Izmantojiet shape.add_text_frame(), lai izveidotu to.
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)Solis 3: Piekļūt TextFrame
shape.add_text_frame() atgriež TextFrame objektu. To var arī izgūt vēlāk, izmantojot shape.text_frame.
tf = shape.text_frame # if the frame already exists
tf = shape.add_text_frame("") # creates a new frameTextFrame satur sarakstu ar Paragraph objektiem (tf.paragraphs). Katrs Paragraph satur Portion objektus (paragraph.portions).
Solis 4: Pielietot treknrakstu un slīprakstu formatēšanu
Izmantojiet portion_format.font_bold un portion_format.font_italic. Šīs īpašības pieņem NullableBool.TRUE, NullableBool.FALSE vai NullableBool.NOT_DEFINED (manto no galvenā).
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)5. solis: iestatīt fonta lielumu un krāsu
Iestatiet portion_format.font_height izmēram (punktos) un izmantojiet fill_format krāsai.
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) pieņem vērtības 0–255 katram kanālam.
Solis 6: Vairākas daļas vienā rindkopā
Viena rindkopa var saturēt vairākas daļas ar dažādu formatējumu. Pievienojiet jaunu Portion rindkopas portions kolekcijai:
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)Biežas problēmas un risinājumi
Teksts parādās melns, pat pēc krāsas iestatīšanas
Pārliecinieties, ka fill_format.fill_type = FillType.SOLID ir iestatīts pirms krāsas piešķiršanas. Bez aizpildījuma tipa iestatīšanas krāsas maiņa var nebūt ietekmīga.
NullableBool.TRUE pret True
portion_format.font_bold sagaida NullableBool.TRUE, nevis Python True. Python True piešķiršana var izraisīt TypeError vai klusīgi neko nedarīt atkarībā no saistības.
Fonts neparādās saglabātajā failā
latin_font īpašība iestata latīņu fontu ģimeni. Ja nav iestatīta, tiek izmantots prezentācijas tēmas fonts. Pielāgotie fonti jāiekļauj vai jābūt pieejamiem skatīšanas ierīcē.
Biežāk uzdotie jautājumi
Kā es varu mainīt fonta ģimeni?
Kopa portion_format.latin_font:
fmt.latin_font = slides.FontData("Arial")FontData pieņem fonta ģimenes nosaukumu kā virkni.
Kā es varu iestatīt rindkopas izlīdzinājumu?
Izmantot paragraph_format.alignment:
from aspose.slides_foss import TextAlignment
tf.paragraphs[0].paragraph_format.alignment = TextAlignment.CENTERAtbalstītās vērtības: LEFT, CENTER, RIGHT, JUSTIFY.
Kā iestatīt rindstarpu?
Izmantojiet paragraph_format.space_before (punkti pirms rindkopas) vai paragraph_format.space_after (punkti pēc rindkopas):
tf.paragraphs[0].paragraph_format.space_before = 12 # 12pt before
tf.paragraphs[0].paragraph_format.space_after = 6 # 6pt after