Kā formatēt tekstu Python valodā

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-foss

2. 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 frame

TextFrame 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.CENTER

Atbalstī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

Skatīt arī

 Latviešu