AutoFit ile .NET’te Sunumlarınızı Geliştirin
Giriş
Varsayılan olarak, bir metin kutusu eklediğinizde Microsoft PowerPoint, metin kutusu için Resize shape to fit text ayarını kullanır—metin kutusunun metninin her zaman sığmasını otomatik olarak yeniden boyutlandırır.

- Metin kutusundaki metin daha uzun ya da daha büyük olduğunda, PowerPoint metin kutusunu otomatik olarak büyütür—yüksekliğini artırır—daha fazla metin almasını sağlar.
- Metin kutusundaki metin daha kısa ya da daha küçük olduğunda, PowerPoint metin kutusunu otomatik olarak küçültür—yüksekliğini azaltır—gereksiz boşluğu ortadan kaldırır.
PowerPoint’te, bir metin kutusunun otomatik sığdırma davranışını kontrol eden dört önemli parametre ya da seçenek şunlardır:
- Do not Autofit
- Shrink text on overflow
- Resize shape to fit text
- Wrap text in shape

Aspose.Slides for .NET, sunumlarda metin kutularının otomatik sığdırma davranışını kontrol etmenizi sağlayan, TextFrameFormat sınıfı altındaki benzer seçenekler—özellikler—sunar.
Şekli Metne Uydurmak İçin Yeniden Boyutlandır
Metnin her zaman kutuya sığmasını istiyorsanız Resize shape to fit text seçeneğini kullanmalısınız. Bu ayarı belirtmek için AutofitType özelliğini TextFrameFormat sınıfından Shape olarak ayarlayın.

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);
}
Metin daha uzun ya da daha büyük olduğunda, metin kutusu otomatik olarak yeniden boyutlandırılır (yüksekliği artırılır) ve tüm metnin sığması sağlanır. Metin daha kısa olduğunda ise tersine bir işlem gerçekleşir.
Do Not Autofit
Metin kutusunun veya şeklinin boyutlarını, içindeki metin ne kadar değişirse değişsin korumak istiyorsanız Do not Autofit seçeneğini kullanmalısınız. Bu ayarı belirtmek için AutofitType özelliğini TextFrameFormat sınıfından None olarak ayarlayın.

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);
}
Metin kutusunun kutusuna sığamayacak kadar uzun olması durumunda metin dışarı taşar.
Shrink Text on Overflow
Metin kutusu çok uzun olduğunda, Shrink text on overflow seçeneği sayesinde metnin boyutu ve satır aralığı küçültülerek kutuya sığdırılabilir. Bu ayarı belirtmek için AutofitType özelliğini TextFrameFormat sınıfından Normal olarak ayarlayın.

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
Shrink text on overflow seçeneği kullanıldığında, ayar yalnızca metin kutusuna sığamayacak kadar uzun olduğunda uygulanır.Wrap Text
Metin şeklin sınırlarını (yalnızca genişlik) aştığında, şekil içinde metnin kaydırılmasını istiyorsanız Wrap text in shape parametresini kullanmalısınız. Bu ayarı belirtmek için WrapText özelliğini TextFrameFormat sınıfından NullableBool.True olarak ayarlayın.
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
Bir şekil içinWrapText özelliğini NullableBool.False olarak ayarlarsanız, şeklin içindeki metin şeklin genişliğinden daha uzun olduğunda metin tek satır halinde şeklin sınırlarını aşar.
FAQ
Metin çerçevesinin iç kenar boşlukları AutoFit’i etkiler mi?
Evet. Dolgu (iç kenar boşlukları) metin için kullanılabilir alanı azaltır; bu nedenle AutoFit daha erken devreye girer—yazı tipini küçültür ya da şekli daha erken yeniden boyutlandırır. AutoFit’i ayarlamadan önce kenar boşluklarını kontrol edin ve gerektiğinde ayarlayın.
AutoFit manuel ve yumuşak satır sonlarıyla nasıl etkileşir?
Zorunlu satır sonları yerinde kalır ve AutoFit bunların etrafında yazı tipi boyutunu ve satır aralığını ayarlar. Gereksiz satır sonlarını kaldırmak, AutoFit’in metni ne kadar küçülteceğini azaltabilir.
Tema yazı tipini değiştirmek veya yazı tipi ikamesi AutoFit sonuçlarını etkiler mi?
Evet. Farklı glif ölçümlerine sahip bir yazı tipine ikame yapmak, metnin genişliğini/yüksekliğini değiştirir ve bu da son yazı tipi boyutunu ve satır kaydırmayı etkileyebilir. Herhangi bir yazı tipi değişikliğinden veya ikamesinden sonra slaytları tekrar kontrol edin.