كيفية تنسيق النص في Python

كيفية تنسيق النص في 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

انظر أيضا

 العربية