بهبود ارائههای شما با AutoFit در JavaScript
مقدمه
بهطور پیشفرض، وقتی یک جعبه متن اضافه میکنید، Microsoft PowerPoint از تنظیم Resize shape to fix text برای جعبه متن استفاده میکند—بهصورت خودکار اندازه جعبه متن را تغییر میدهد تا مطمئن شود متن آن همیشه درون جعبه جای میگیرد.

- هنگامی که متن داخل جعبه متن طولانیتر یا بزرگتر شود، PowerPoint بهصورت خودکار جعبه متن را بزرگ میکند—ارتفاع آن را افزایش میدهد—تا فضای بیشتری برای متن داشته باشد.
- هنگامی که متن داخل جعبه متن کوتاهتر یا کوچکتر شود، PowerPoint بهصورت خودکار جعبه متن را کوچک میکند—ارتفاع آن را کاهش میدهد—تا فضای اضافه حذف شود.
در PowerPoint، این چهار پارامتر یا گزینه مهمی هستند که رفتار AutoFit برای جعبه متن را کنترل میکنند:
- Do not Autofit
- Shrink text on overflow
- Resize shape to fit text
- Wrap text in shape.

Aspose.Slides for Node.js via Java گزینههای مشابهی ارائه میدهد—برخی از ویژگیها در کلاس TextFrameFormat که به شما امکان میدهد رفتار AutoFit برای جعبههای متن در ارائهها را کنترل کنید.
تغییر اندازه شکل برای متناسب شدن با متن
اگر میخواهید متن داخل یک جعبه پس از هر تغییری دائم در همان جعبه جا بگیرد، باید از گزینه Resize shape to fix text استفاده کنید. برای تعیین این تنظیم، متد setAutofitType را از کلاس TextFrameFormat با مقدار Shape فراخوانی کنید.

این کد JavaScript نشان میدهد چگونه میتوانید مشخص کنید که متن همیشه در جعبه خود در یک ارائه PowerPoint جا بگیرد:
var pres = new aspose.slides.Presentation();
try {
var slide = pres.getSlides().get_Item(0);
var autoShape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 30, 30, 350, 100);
var portion = new aspose.slides.Portion("lorem ipsum...");
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLACK"));
portion.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
autoShape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion);
var textFrameFormat = autoShape.getTextFrame().getTextFrameFormat();
textFrameFormat.setAutofitType(aspose.slides.TextAutofitType.Shape);
pres.save("Output-presentation.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
اگر متن طولانیتر یا بزرگتر شود، جعبه متن بهصورت خودکار (ارتفاعش افزایش مییابد) تغییر اندازه میدهد تا تمام متن درون آن جا بگیرد. اگر متن کوتاهتر شود، برعکس اتفاق میافتد.
Do Not Autofit
اگر میخواهید یک جعبه متن یا شکل ابعاد خود را صرفنظر از هر تغییری که در متن آن ایجاد میشود، حفظ کند، باید از گزینه Do not Autofit استفاده کنید. برای تعیین این تنظیم، متد setAutofitType را از کلاس TextFrameFormat با مقدار None فراخوانی کنید.

این کد JavaScript نشان میدهد چگونه میتوانید مشخص کنید که یک جعبه متن ابعاد خود را در یک ارائه PowerPoint حفظ کند:
var pres = new aspose.slides.Presentation();
try {
var slide = pres.getSlides().get_Item(0);
var autoShape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 30, 30, 350, 100);
var portion = new aspose.slides.Portion("lorem ipsum...");
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLACK"));
portion.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
autoShape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion);
var textFrameFormat = autoShape.getTextFrame().getTextFrameFormat();
textFrameFormat.setAutofitType(aspose.slides.TextAutofitType.None);
pres.save("Output-presentation.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
زمانی که متن برای جعبهاش بیش از حد طولانی شود، بیرون میریزد.
Shrink Text on Overflow
اگر متنی برای جعبهاش بیش از حد طولانی شود، از گزینه Shrink text on overflow میتوانید استفاده کنید تا اندازه و فاصلههای متن کاهش یابند و در جعبه جا شوند. برای تعیین این تنظیم، متد setAutofitType را از کلاس TextFrameFormat با مقدار Normal فراخوانی کنید.

این کد JavaScript نشان میدهد چگونه میتوانید مشخص کنید که متن در صورت overflow کوچک شود در یک ارائه PowerPoint:
var pres = new aspose.slides.Presentation();
try {
var slide = pres.getSlides().get_Item(0);
var autoShape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 30, 30, 350, 100);
var portion = new aspose.slides.Portion("lorem ipsum...");
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLACK"));
portion.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
autoShape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion);
var textFrameFormat = autoShape.getTextFrame().getTextFrameFormat();
textFrameFormat.setAutofitType(aspose.slides.TextAutofitType.Normal);
pres.save("Output-presentation.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Info
وقتی از گزینه Shrink text on overflow استفاده شود، تنظیم فقط زمانی اعمال میشود که متن برای جعبهاش بیش از حد طولانی شود.Wrap Text
اگر میخواهید متن داخل یک شکل وقتی از حاشیه عرض شکل عبور کرد، در همان شکل بهصورت خودکار بسته شود، باید از پارامتر Wrap text in shape استفاده کنید. برای تعیین این تنظیم، باید متد setWrapText را از کلاس TextFrameFormat با مقدار true فراخوانی کنید.
این کد JavaScript نشان میدهد چگونه میتوانید تنظیم Wrap Text را در یک ارائه PowerPoint به کار ببندید:
var pres = new aspose.slides.Presentation();
try {
var slide = pres.getSlides().get_Item(0);
var autoShape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 30, 30, 350, 100);
var portion = new aspose.slides.Portion("lorem ipsum...");
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLACK"));
portion.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
autoShape.getTextFrame().getParagraphs().get_Item(0).getPortions().add(portion);
var textFrameFormat = autoShape.getTextFrame().getTextFrameFormat();
textFrameFormat.setWrapText(aspose.slides.NullableBool.True);
pres.save("Output-presentation.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Note
اگر متدsetWrapText را برای یک شکل با مقدار False فراخوانی کنید، وقتی متن داخل شکل از عرض شکل طولانیتر شود، متن در یک خط به بیرون شکل ادامه مییابد.
FAQ
آیا حاشیههای داخلی فریم متن بر AutoFit تأثیر میگذارند؟
بله. Padding (حاشیههای داخلی) مساحت قابل استفاده برای متن را کاهش میدهد، بنابراین AutoFit زودتر فعال میشود—اندازه فونت را کاهش یا شکل را زودتر تغییر اندازه میدهد. قبل از تنظیم AutoFit حاشیهها را بررسی و تنظیم کنید.
AutoFit چگونه با شکست خطوط دستی و نرم تعامل میکند؟
شکستهای اجباری در مکان خود باقی میمانند و AutoFit اندازه فونت و فاصلهها را اطراف آنها تنظیم میکند. حذف شکستهای غیرضروری معمولاً نیاز AutoFit برای کوچکسازی متن را کاهش میدهد.
آیا تغییر فونت تم یا اعمال جایگزینی فونت نتایج AutoFit را تحت تأثیر قرار میدهد؟
بله. جایگزینی به فونتی با معیارهای گلیف متفاوت عرض/ارتفاع متن را تغییر میدهد و میتواند اندازه نهایی فونت و بستهبندی خطوط را تحت تأثیر قرار دهد. پس از هر تغییر یا جایگزینی فونت، اسلایدها را دوباره بررسی کنید.