پیکربندی جایگزینی قلم در ارائهها با استفاده از جاوااسکریپت
نمای کلی
جایگزینی قلم به Aspose.Slides این امکان را میدهد که در زمان رندر یا تبدیل، وقتی قلم اصلی ارائه در دسترس نباشد، از قلم دیگری استفاده کند. میتوانید با استفاده از متد getSubstitutions از کلاس FontsManager بررسی کنید که کدام قلمها جایگزین شدهاند.
Aspose.Slides همچنین به شما اجازه میدهد قوانین جایگزینی قلم را تعریف کنید. برای مثال، میتوانید مشخص کنید که یک قلم غیرقابل دسترسی باید با قلم دیگری که در دسترس است جایگزین شود و سپس این قوانین را از طریق مدیر قلم ارائه اعمال کنید.
تنظیم قوانین جایگزینی قلم
Aspose.Slides به شما اجازه میدهد قوانین برای قلمها تنظیم کنید که در شرایط خاص (مثلاً وقتی قلم قابل دسترسی نیست) چه کاری باید انجام شود، به این صورت:
- ارائه مربوطه را بارگذاری کنید.
- قلم مورد جایگزینی را بارگذاری کنید.
- قلم جدید را بارگذاری کنید.
- یک قانون برای جایگزینی اضافه کنید.
- قانون را به مجموعه قوانین جایگزینی قلم ارائه اضافه کنید.
- تصویر اسلاید را تولید کنید تا اثر آن را مشاهده کنید.
این کد JavaScript فرایند جایگزینی قلم را نشان میدهد:
// یک ارائه را بارگذاری میکند
var pres = new aspose.slides.Presentation("Fonts.pptx");
try {
// قلم منبعی که جایگزین خواهد شد را بارگذاری میکند
var sourceFont = new aspose.slides.FontData("SomeRareFont");
// قلم جدید را بارگذاری میکند
var destFont = new aspose.slides.FontData("Arial");
// قواعد قلم برای جایگزینی قلم را اضافه میکند
var fontSubstRule = new aspose.slides.FontSubstRule(sourceFont, destFont, aspose.slides.FontSubstCondition.WhenInaccessible);
// قانون را به مجموعه قوانین جایگزینی قلم اضافه میکند
var fontSubstRuleCollection = new aspose.slides.FontSubstRuleCollection();
fontSubstRuleCollection.add(fontSubstRule);
// مجموعهای از قوانین قلم را به لیست قوانین اضافه میکند
pres.getFontsManager().setFontSubstRuleList(fontSubstRuleCollection);
// قلم Arial به جای SomeRareFont استفاده خواهد شد وقتی قلم دوم غیرقابل دسترسی باشد
var slideImage = pres.getSlides().get_Item(0).getImage(1.0, 1.0);
// تصویر را به صورت JPEG روی دیسک ذخیره میکند
try {
slideImage.save("Thumbnail_out.jpg", aspose.slides.ImageFormat.Jpeg);
} finally {
if (slideImage != null) {
slideImage.dispose();
}
}
} finally {
if (pres != null) {
pres.dispose();
}
}
NOTE
ممکن است مایل باشید جایگزینی قلم را ببینید.محدودیتها برای قلمهای معادلات ریاضی
قوانین جایگزینی قلم در فرایند استاندارد انتخاب قلم که هنگام رندر و تبدیل استفاده میشود، مشارکت میکنند. آنها برای سناریوهای متن عادی مناسب هستند که Aspose.Slides میتواند یک قلم غیرقابل دسترسی را با قلم دیگری که در دسترس است، بر اساس قانون پیکربندی شده جایگزین کند.
با این حال، معادلات ریاضی Office یک محدودیت مهم دارند. اگر معادلهای با Cambria Math ایجاد شده باشد، Aspose.Slides ممکن است همچنان به قلم اصلی Cambria Math برای محاسبه و رندر درست چیدمان معادله نیاز داشته باشد. به همین دلیل، جایگزینی Cambria Math با یک قلم ریاضی دیگر، مانند STIX Two Math، برای رندر معادله پشتیبانی نمیشود و ممکن است همچنان استثنایی نشان دهد که Cambria Math مورد نیاز است.
برای تبدیل موفق چنین ارائههایی، اطمینان حاصل کنید که Cambria Math در زمان اجرا برای Aspose.Slides در دسترس باشد. میتوانید این قلم را در سیستمعامل نصب کنید یا به عنوان قلم خارجی فراهم کنید تا در فرایند استاندارد انتخاب قلم در زمان رندر و تبدیل مشارکت کند.
این محدودیت مخصوص رندر معادلات است. قوانین استاندارد جایگزینی قلم توضیح داده شده در بالا همچنان برای متن معمولی ارائهها زمانی که قلم اصلی در دسترس نیست، اعمال میشوند.
سوالات متداول
تفاوت جایگزینی قلم با جایگزینی (substitution) قلم چیست؟
جایگزینی یک بازنویسی اجباری یک قلم با قلم دیگر در کل ارائه است. جایگزینی (substitution) قانونی است که تحت شرایط خاصی فعال میشود، برای مثال وقتی قلم اصلی در دسترس نباشد و سپس یک قلم پیشفرض تعیینشده استفاده میشود.
قوانین جایگزینی دقیقاً چه موقع اعمال میشوند؟
قوانین در توالی استاندارد انتخاب قلم که در زمان بارگذاری، رندر و تبدیل ارزیابی میشود، مشارکت میکنند؛ اگر قلم انتخابی در دسترس نباشد، جایگزینی یا substitution اعمال میشود.
اگر نه جایگزینی و نه substitution پیکربندی نشده باشد و قلم در سیستم موجود نباشد، رفتار پیشفرض چیست؟
کتابخانه سعی میکند نزدیکترین قلم موجود در سیستم را انتخاب کند، مشابه رفتار PowerPoint.
آیا میتوانم در زمان اجرا فونتهای خارجی سفارشی را اضافه کنم تا از جایگزینی جلوگیری شود؟
بله. میتوانید فونتهای خارجی را در زمان اجرا اضافه کنید تا کتابخانه آنها را برای انتخاب و رندر در نظر بگیرد، از جمله برای تبدیلات بعدی.
آیا Aspose فونتی همراه کتابخانه توزیع میکند؟
خیر. Aspose هیچ فونت پولی یا رایگانی توزیع نمیکند؛ شما فونتها را بر حسب اختیار و مسئولیت خود اضافه و استفاده میکنید.
آیا رفتار جایگزینی در Windows، Linux و macOS متفاوت است؟
بله. کشف فونت از دایرکتوریهای فونت سیستمعامل آغاز میشود. مجموعه فونتهای پیشفرض موجود و مسیرهای جستجو در هر پلتفرم متفاوت است که بر در دسترس بودن و نیاز به جایگزینی تأثیر میگذارد.
چگونه محیط را برای کاهش جایگزینی ناخواسته در تبدیلهای دستهای آماده کنم؟
مجموعه فونتها را بین ماشینها یا کانتینرها همگامسازی کنید، فونتهای خارجی مورد نیاز برای سندهای خروجی را اضافه کنید و در صورت امکان فونتها را درونریز کنید تا فونتهای انتخابشده در زمان رندر موجود باشند.