كيفية تنسيق النص في Python
Aspose.Slides FOSS for Python provides fine-grained text formatting through the PortionFormat الفئة A 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)الخطوة الثالثة: الوصول إلى 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 frameأ أ TextFrame يحتوي على قائمة من 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 vs True
portion_format.font_bold توقعات NullableBool.TRUE,لا، ليس في Python. True.إرسال رسالة Python 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