Cara Memformat Teks dalam Python
Aspose.Slides FOSS for Python provides fine-grained text formatting through the PortionFormat kelas. A Portion ialah unit teks bebas terkecil; ia memetakan kepada satu rentetan pemformatan dalam perenggan. Panduan ini menunjukkan cara menerapkan pemformatan tebal, condong, saiz fon, dan warna pada teks dalam persembahan.
Panduan Langkah demi Langkah
Langkah 1: Pasang Pakej
pip install aspose-slides-fossLangkah 2: Tambah Bentuk dengan Bingkai Teks
Sebelum memformat teks, bentuk mesti mengandungi satu TextFrame. Gunakan shape.add_text_frame() untuk membuat satu.
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)Langkah 3: Akses TextFrame
shape.add_text_frame() mengembalikan TextFrame objek. Anda juga boleh mengambilnya kemudian melalui shape.text_frame.
tf = shape.text_frame # if the frame already exists
tf = shape.add_text_frame("") # creates a new frameA TextFrame mengandungi senarai Paragraph objek (tf.paragraphs). Setiap Paragraph mengandungi Portion objek (paragraph.portions).
Langkah 4: Terapkan Pemformatan Tebal dan Condong
Gunakan portion_format.font_bold dan portion_format.font_italic. Sifat-sifat ini menerima NullableBool.TRUE, NullableBool.FALSE, atau NullableBool.NOT_DEFINED (warisi dari 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)Langkah 5: Tetapkan Saiz Fon dan Warna
Tetapkan portion_format.font_height untuk saiz (dalam mata) dan gunakan fill_format untuk warna.
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) menerima nilai 0–255 untuk setiap saluran.
Langkah 6: Pelbagai Portion dalam Satu Perenggan
Satu perenggan tunggal boleh mengandungi pelbagai bahagian dengan pemformatan yang berbeza. Tambah yang baru Portion kepada perenggan portions koleksi:
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)Isu Umum dan Penyelesaian
Teks muncul hitam walaupun selepas menetapkan warna
Pastikan fill_format.fill_type = FillType.SOLID ditetapkan sebelum menetapkan warna. Tanpa menetapkan jenis isi, perubahan warna mungkin tidak memberi kesan.
NullableBool.TRUE vs True
portion_format.font_bold menjangka NullableBool.TRUE, bukan Python True. Menetapkan Python True mungkin menghasilkan satu TypeError atau secara senyap tidak melakukan apa-apa bergantung pada pengikatan.
Fon tidak muncul dalam fail yang disimpan
The latin_font property menetapkan keluarga fon Latin. Jika tidak ditetapkan, fon tema persembahan akan digunakan. Fon tersuai mesti disematkan atau tersedia pada mesin penonton.
Soalan Lazim
Bagaimana saya menukar keluarga fon?
Tetapkan portion_format.latin_font:
fmt.latin_font = slides.FontData("Arial")FontData menerima nama keluarga fon sebagai rentetan.
Bagaimana saya menetapkan penjajaran perenggan?
Gunakan paragraph_format.alignment:
from aspose.slides_foss import TextAlignment
tf.paragraphs[0].paragraph_format.alignment = TextAlignment.CENTERNilai yang disokong: LEFT, CENTER, RIGHT, JUSTIFY.
Bagaimana saya menetapkan jarak baris?
Gunakan paragraph_format.space_before (titik sebelum perenggan) atau paragraph_format.space_after (titik selepas perenggan):
tf.paragraphs[0].paragraph_format.space_before = 12 # 12pt before
tf.paragraphs[0].paragraph_format.space_after = 6 # 6pt after