איך לעצב טקסט בפייתון
Aspose.Slides FOSS for Python מספקת עיצוב טקסט מדויק דרך המחלקה PortionFormat. Portion הוא היחידה העצמאית הקטנה ביותר של טקסט; הוא ממופה לרצף עיצוב יחיד בתוך פסקה. מדריך זה מראה כיצד להחיל עיצוב מודגש, נטוי, גודל גופן וצבע על טקסט במצגת.
מדריך שלב אחר שלב
שלב 1: התקנת החבילה
pip install aspose-slides-fossשלב 2: הוסף צורה עם מסגרת טקסט
לפני עיצוב הטקסט, על הצורה להכיל TextFrame. השתמש בshape.add_text_frame() כדי ליצור אחת.
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)שלב 3: גישה ל‑TextFrame
shape.add_text_frame() מחזיר את האובייקט TextFrame. ניתן גם לאחזר אותו מאוחר יותר באמצעות shape.text_frame.
tf = shape.text_frame # if the frame already exists
tf = shape.add_text_frame("") # creates a new frameTextFrame מכיל רשימה של אובייקטים Paragraph (tf.paragraphs). כל Paragraph מכיל אובייקטים Portion (paragraph.portions).
שלב 4: יישום עיצוב מודגש ונטוי
השתמש בportion_format.font_bold ובportion_format.font_italic. מאפיינים אלה מקבלים NullableBool.TRUE, NullableBool.FALSE או NullableBool.NOT_DEFINED (יורשים מהמאסטר).
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: הגדר גודל גופן וצבע
הגדר portion_format.font_height לגודל (בנקודות) והשתמש בfill_format לצבע.
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) מקבל ערכים 0–255 לכל ערוץ.
שלב 6: חלקים מרובים בפסקה אחת
פסקה בודדת יכולה להכיל מספר חלקים עם עיצוב שונה. הוסף Portion חדש לאוסף portions של פסקה:
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)בעיות נפוצות ותיקונים
הטקסט מופיע שחור גם אחרי קביעת צבע
ודא ש-fill_format.fill_type = FillType.SOLID מוגדר לפני הקצאת הצבע. ללא הגדרת סוג המילוי, שינוי הצבע עשוי שלא להיות בעל השפעה.
NullableBool.TRUE לעומת True
portion_format.font_bold מצפה ל‑NullableBool.TRUE, ולא ל‑True של פייתון. הקצאת True של פייתון עשויה לגרום ל‑TypeError או לשתוק וללא פעולה, תלוי בקישור.
הגופן אינו מופיע בקובץ השמור
המאפיין latin_font מגדיר את משפחת הגופנים הלטינית. אם לא הוגדר, נעשה שימוש בגופן של ערכת נושא המצגת. גופנים מותאמים אישית חייבים להיות משובצים או זמינים במחשב הצפייה.
שאלות נפוצות
איך אני משנה את משפחת הגופנים?
הגדר portion_format.latin_font:
fmt.latin_font = slides.FontData("Arial")FontData מקבל את שם משפחת הגופן כמחרוזת.
איך אני מגדיר יישור פסקה?
השתמש paragraph_format.alignment:
from aspose.slides_foss import TextAlignment
tf.paragraphs[0].paragraph_format.alignment = TextAlignment.CENTERערכים נתמכים: LEFT, CENTER, RIGHT, JUSTIFY.
איך אני מגדיר ריווח שורות?
השתמש בparagraph_format.space_before (נקודות לפני פסקה) או בparagraph_format.space_after (נקודות אחרי פסקה):
tf.paragraphs[0].paragraph_format.space_before = 12 # 12pt before
tf.paragraphs[0].paragraph_format.space_after = 6 # 6pt after