تحسين عروضك التقديمية باستخدام AutoFit في .NET
نظرة عامة
بشكل افتراضي، عند إضافة مربع نص، يستخدم Microsoft PowerPoint إعداد تغيير حجم الشكل ليتناسب مع النص للمربع النصي—فهو يغير حجم المربع تلقائيًا لضمان احتواء النص بداخله دائمًا.

- عندما يصبح النص في المربع النصي أطول أو أكبر، يقوم PowerPoint تلقائيًا بتكبير المربع—بزيادة ارتفاعه—للسماح بوجود نص أكثر.
- عندما يصبح النص في المربع النصي أقصر أو أصغر، يقوم PowerPoint تلقائيًا بتقليل المربع—بخفض ارتفاعه—لإزالة المساحة الزائدة.
في PowerPoint، هناك أربع معلمات أو خيارات مهمة تتحكم في سلوك الملاءمة التلقائية لمربع النص:
- عدم الملاءمة التلقائية
- تصغير النص عند الفائض
- تغيير حجم الشكل ليتناسب مع النص
- لف النص داخل الشكل

توفر Aspose.Slides for .NET خيارات مماثلة—خصائص ضمن فئة TextFrameFormat—تتيح لك التحكم في سلوك الملاءمة التلقائية لمربعات النص في العروض التقديمية.
تغيير حجم الشكل ليتناسب مع النص
إذا كنت تريد أن يتناسب النص داخل الصندوق دائمًا مع الصندوق بعد أي تعديل للنص، عليك استخدام خيار تغيير حجم الشكل ليتناسب مع النص. لتحديد هذا الإعداد، اضبط خاصية AutofitType من فئة TextFrameFormat إلى Shape.

هذا الكود C# يوضح كيفية تحديد أن النص يجب أن يتناسب دائمًا مع الصندوق في عرض PowerPoint:
using (Presentation presentation = new Presentation())
{
ISlide slide = presentation.Slides[0];
IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100);
Portion portion = new Portion("lorem ipsum...");
portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black;
portion.PortionFormat.FillFormat.FillType = FillType.Solid;
autoShape.TextFrame.Paragraphs[0].Portions.Add(portion);
ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat;
textFrameFormat.AutofitType = TextAutofitType.Shape;
presentation.Save("output_presentation.pptx", SaveFormat.Pptx);
}
إذا أصبح النص أطول أو أكبر، سيُعاد تحجيم مربع النص تلقائيًا (زيادة الارتفاع) لضمان احتواء جميع النص. إذا أصبح النص أقصر، يحدث العكس.
عدم الملاءمة التلقائية
إذا كنت تريد أن يحتفظ مربع النص أو الشكل بأبعاده بغض النظر عن التغييرات التي تطرأ على النص الموجود فيه، عليك استخدام خيار عدم الملاءمة التلقائية. لتحديد هذا الإعداد، اضبط خاصية AutofitType من فئة TextFrameFormat إلى None.

هذا الكود C# يوضح كيفية تحديد أن مربع النص يجب أن يحتفظ بأبعاده دائمًا في عرض PowerPoint:
using (Presentation presentation = new Presentation())
{
ISlide slide = presentation.Slides[0];
IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100);
Portion portion = new Portion("lorem ipsum...");
portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black;
portion.PortionFormat.FillFormat.FillType = FillType.Solid;
autoShape.TextFrame.Paragraphs[0].Portions.Add(portion);
ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat;
textFrameFormat.AutofitType = TextAutofitType.None;
presentation.Save("output_presentation.pptx", SaveFormat.Pptx);
}
عندما يصبح النص أطول من الصندوق، يفيض خارج الصندوق.
تصغير النص عند الفائض
إذا أصبح النص أطول من الصندوق، يمكنك عبر خيار تصغير النص عند الفائض تحديد أن حجم النص والمسافات يجب أن تقل لتتناسب مع الصندوق. لتحديد هذا الإعداد، اضبط خاصية AutofitType من فئة TextFrameFormat إلى Normal.

هذا الكود C# يوضح كيفية تحديد أن النص يجب أن يُصغر عند الفائض في عرض PowerPoint:
using (Presentation presentation = new Presentation())
{
ISlide slide = presentation.Slides[0];
IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100);
Portion portion = new Portion("lorem ipsum...");
portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black;
portion.PortionFormat.FillFormat.FillType = FillType.Solid;
autoShape.TextFrame.Paragraphs[0].Portions.Add(portion);
ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat;
textFrameFormat.AutofitType = TextAutofitType.Normal;
presentation.Save("output_presentation.pptx", SaveFormat.Pptx);
}
Info
عند استخدام خيار تصغير النص عند الفائض، يُطبق الإعداد فقط عندما يصبح النص أطول من الصندوق.لف النص
إذا كنت تريد أن يُلف النص داخل الشكل عندما يتجاوز النص حد الشكل (العرض فقط)، عليك استخدام معلمة لف النص داخل الشكل. لتحديد هذا الإعداد، اضبط خاصية WrapText من فئة TextFrameFormat إلى NullableBool.True.
هذا الكود C# يوضح كيفية استخدام إعداد لف النص في عرض PowerPoint:
using (Presentation presentation = new Presentation())
{
ISlide slide = presentation.Slides[0];
IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100);
Portion portion = new Portion("lorem ipsum...");
portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black;
portion.PortionFormat.FillFormat.FillType = FillType.Solid;
autoShape.TextFrame.Paragraphs[0].Portions.Add(portion);
ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat;
textFrameFormat.WrapText = NullableBool.True;
presentation.Save("output_presentation.pptx", SaveFormat.Pptx);
}
Note
إذا ضبطت خاصيةWrapText إلى NullableBool.False لشكل ما، عندما يصبح النص داخل الشكل أطول من عرض الشكل، يمتد النص خارج حدود الشكل سطرًا واحدًا.
الأسئلة المتكررة
هل تؤثر الهوامش الداخلية لإطار النص على الملاءمة التلقائية؟
نعم. الهوامش الداخلية (Padding) تقلل المساحة المتاحة للنص، لذا ستبدأ الملاءمة التلقائية في العمل مبكرًا—إما بتقليل حجم الخط أو بتغيير حجم الشكل. تحقق من الهوامش واضبطها قبل تعديل الملاءمة التلقائية.
كيف تتفاعل الملاءمة التلقائية مع الفواصل اليدوية والناعمة؟
تبقى الفواصل القسرية في موضعها، وتتكيف الملاءمة التلقائية مع حجم الخط والمسافات حولها. إزالة الفواصل غير الضرورية غالبًا ما يقلل من شدة تصغير النص عبر الملاءمة التلقائية.
هل يؤثر تغيير خط السمة أو استبدال الخط على نتائج الملاءمة التلقائية؟
نعم. استبدال الخط بخط لديه قياسات مختلفة يغير عرض/ارتفاع النص، مما قد يغير حجم الخط النهائي ولف الأسطر. بعد أي تغيير أو استبدال للخط، أعد فحص الشرائح.