حسّن عروضك التقديمية باستخدام AutoFit في بايثون
المقدمة
بشكل افتراضي، عند إضافة مربع نص، يستخدم Microsoft PowerPoint إعداد Resize shape to fit text لمربع النص—فهو يقوم تلقائيًا بتغيير حجم مربع النص لضمان أن النص يظل دائمًا يتناسب معه.

- عندما يصبح النص داخل مربع النص أطول أو أكبر، يقوم PowerPoint تلقائيًا بتكبير مربع النص — زيادة ارتفاعه — للسماح له باحتواء المزيد من النص.
- عندما يصبح النص داخل مربع النص أقصر أو أصغر، يقوم PowerPoint تلقائيًا بتقليل حجم مربع النص — تقليل ارتفاعه — لإزالة المساحة الزائدة.
في PowerPoint، هذه هي الأربعة معلمات أو خيارات المهمة التي تتحكم في سلوك الـ AutoFit لمربع النص:
- Do not Autofit
- Shrink text on overflow
- Resize shape to fit text
- Wrap text in shape.

توفر Aspose.Slides for Python via Java خيارات مماثلة—بعض الخصائص ضمن فئة TextFrameFormat—تتيح لك التحكم في سلوك الـ autofit لمربعات النص في العروض التقديمية.
تغيير حجم الشكل ليتناسب مع النص
إذا كنت تريد أن يتناسب النص دائمًا داخل المربع بعد إجراء تغييرات على النص، عليك استخدام خيار Resize shape to fit text. لتحديد هذا الإعداد، استخدم طريقة setAutofitType (من فئة TextFrameFormat) مع Shape.

يعرض هذا الكود Python كيفية تحديد أن النص يجب أن يتناسب دائمًا داخل صندله في عرض PowerPoint:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, ShapeType, Portion, FillType, TextAutofitType, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
auto_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 30, 30, 350, 100)
portion = Portion("lorem ipsum...")
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK)
portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
auto_shape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion)
text_frame_format = auto_shape.getTextFrame().getTextFrameFormat()
text_frame_format.setAutofitType(TextAutofitType.Shape)
presentation.save("Output-presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
إذا أصبح النص أطول أو أكبر، سيُعاد ضبط حجم مربع النص تلقائيًا (زيادة الارتفاع) لضمان أن جميع النص يتناسب معه. إذا أصبح النص أقصر، يحدث العكس.
عدم Autofit
إذا كنت تريد أن يحتفظ مربع النص أو الشكل بأبعاده بغض النظر عن التغييرات التي تطرأ على النص الذي يحتويه، عليك استخدام خيار Do not Autofit. لتحديد هذا الإعداد، استخدم طريقة setAutofitType (من فئة TextFrameFormat) مع None.

يعرض هذا الكود Python كيفية تحديد أن مربع النص يجب أن يحتفظ بأبعاده دائمًا في عرض PowerPoint:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, ShapeType, Portion, FillType, TextAutofitType, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
auto_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 30, 30, 350, 100)
portion = Portion("lorem ipsum...")
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK)
portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
auto_shape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion)
text_frame_format = auto_shape.getTextFrame().getTextFrameFormat()
text_frame_format.setAutofitType(TextAutofitType.None_)
presentation.save("Output-presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
عندما يصبح النص أطول من الصندوق، يخرج خارج الصندوق.
تقليص النص عند الفائض
إذا أصبح النص أطول من الصندوق، يمكنك استخدام خيار Shrink text on overflow لتحديد أن حجم النص والمسافات يجب أن تُقلص لتناسب الصندوق. لتحديد هذا الإعداد، استخدم طريقة setAutofitType (من فئة TextFrameFormat) مع Normal.

يعرض هذا الكود Python كيفية تحديد أن النص يجب أن يُقلص عند الفائض في عرض PowerPoint:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, ShapeType, Portion, FillType, TextAutofitType, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
auto_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 30, 30, 350, 100)
portion = Portion("lorem ipsum...")
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK)
portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
auto_shape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion)
text_frame_format = auto_shape.getTextFrame().getTextFrameFormat()
text_frame_format.setAutofitType(TextAutofitType.Normal)
presentation.save("Output-presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Note
عند استخدام خيار Shrink text on overflow، يتم تطبيق الإعداد فقط عندما يصبح النص أطول من الصندوق.التفاف النص
إذا كنت تريد أن يلتف النص داخل الشكل عندما يتجاوز النص حدود الشكل (العرض فقط)، عليك استخدام معلمة Wrap text in shape. لتحديد هذا الإعداد، عليك استخدام طريقة setWrapText (من فئة TextFrameFormat) مع NullableBool.True_.
يعرض هذا الكود Python كيفية استخدام إعداد التفاف النص في عرض PowerPoint:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, ShapeType, Portion, FillType, NullableBool, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
auto_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 30, 30, 350, 100)
portion = Portion("lorem ipsum...")
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK)
portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
auto_shape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion)
text_frame_format = auto_shape.getTextFrame().getTextFrameFormat()
text_frame_format.setWrapText(NullableBool.True_)
presentation.save("Output-presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Warning
إذا استخدمت طريقة setWrapText مع NullableBool.False لشكل ما، عندما يصبح النص داخل الشكل أطول من عرض الشكل، يمتد النص خارج حدود الشكل على سطر واحد.الأسئلة المتكررة
هل تؤثر الهوامش الداخلية لإطار النص على الـ AutoFit؟
نعم. الهوامش الداخلية (Padding) تقلل من المساحة المتاحة للنص، لذا يبدأ الـ AutoFit بالعمل مبكرًا—يقلص الخط أو يغير حجم الشكل أسرع. تحقق من الهوامش و اضبطها قبل تعديل الـ AutoFit.
كيف يتفاعل الـ AutoFit مع فواصل السطر اليدوية والمرنة؟
الفواصل القسرية تبقى في مكانها، ويتكيف الـ AutoFit مع حجم الخط والمسافات حولها. إزالة الفواصل غير الضرورية غالبًا ما يقلل من حدة تقليص النص بواسطة الـ AutoFit.
هل يؤثر تغيير خط السمة أو استبدال الخط على نتائج الـ AutoFit؟
نعم. استبدال خط بمعايير مختلفة يغير عرض/ارتفاع النص، مما قد يغير حجم الخط النهائي وتفاف السطر. بعد أي تغيير أو استبدال للخط، أعد فحص الشرائح.