رندر ارائه‌ها با فونت‌های جایگزین در اندروید

نمای کلی

Aspose.Slides به شما امکان می‌دهد ارائه‌ها را با استفاده از قوانین فونت جایگزین رندر کنید. این مقاله نشان می‌دهد چگونه یک مجموعه قوانین فونت جایگزین ایجاد کنید، قوانین آن را با حذف یا افزودن فونت‌های جایگزین تغییر دهید، و مجموعه را با استفاده از متد FontsManager.setFontFallBackRulesCollection اختصاص دهید.

زمانی که مجموعه قوانین فونت جایگزین به FontsManager ارائه اختصاص داده می‌شود، این قوانین در طول عملیات‌هایی مانند ذخیره، رندر و تبدیل ارائه اعمال می‌شوند. مثال نشان می‌دهد چگونه از قوانین پیکربندی شده هنگام رندر تصویر بندانگشتی اسلاید و ذخیره آن به عنوان تصویر PNG استفاده کنید.

رندر یک اسلاید با استفاده از قوانین فونت جایگزین

مثال زیر شامل این مراحل است:

  1. ما مجموعه قوانین فونت جایگزین را ایجاد می‌کنیم.
  2. حذف یک قانون فونت جایگزین و addFallBackFonts به قانون دیگر.
  3. مجموعه قوانین را به متد getFontsManager.getFontFallBackRulesCollection تنظیم کنید.
  4. با متد Presentation.save می‌توانیم ارائه را در همان فرمت ذخیره کنیم یا در فرمت دیگری ذخیره کنیم. پس از تنظیم مجموعه قوانین فونت جایگزین به FontsManager، این قوانین در هر عملیاتی بر روی ارائه اعمال می‌شوند: ذخیره، رندر، تبدیل و غیره.
// ایجاد یک نمونه جدید از مجموعه قوانین
IFontFallBackRulesCollection rulesList = new FontFallBackRulesCollection();

// ایجاد چندین قانون
rulesList.add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman"));

for (IFontFallBackRule fallBackRule : rulesList)
{
    // در حال تلاش برای حذف فونت جایگزین "Tahoma" از قوانین بارگذاری شده
    fallBackRule.remove("Tahoma");

    // و به‌روزرسانی قوانین برای بازه مشخص شده
    if ((fallBackRule.getRangeEndIndex() >= 0x4000) && (fallBackRule.getRangeStartIndex() < 0x5000))
        fallBackRule.addFallBackFonts("Verdana");
}

// همچنین می‌توانیم هر قانون موجودی را از لیست حذف کنیم
if (rulesList.size() > 0)
    rulesList.remove(rulesList.get_Item(0));

Presentation pres = new Presentation("input.pptx");
try {
    // اختصاص یک لیست قوانین آماده برای استفاده
    pres.getFontsManager().setFontFallBackRulesCollection(rulesList);

    // رندر تصویر بندانگشتی با استفاده از مجموعه قوانین مقداردهی اولیه و ذخیره به JPEG
   IImage slideImage = pres.getSlides().get_Item(0).getImage(1f, 1f);

   // ذخیره تصویر در دیسک به فرمت JPEG
   try {
         slideImage.save("Slide_0.jpg", ImageFormat.Jpeg);
   } finally {
        if (slideImage != null) slideImage.dispose();
   }
} finally {
    if (pres != null) pres.dispose();
}