پیکربندی جایگزینی قلم در ارائه‌ها با استفاده از PHP

مقدمه

جایگزینی قلم به Aspose.Slides امکان استفاده از قلم دیگری را می‌دهد زمانی که قلم اصلی ارائه در هنگام رندر یا تبدیل موجود نباشد. می‌توانید با استفاده از متد getSubstitutions در کلاس FontsManager بررسی کنید کدام قلم‌ها جایگزین شده‌اند.

Aspose.Slides همچنین به شما اجازه می‌دهد قوانین جایگزینی قلم را تعریف کنید. برای مثال می‌توانید مشخص کنید که یک قلم غیرقابل دسترسی باید با قلم دیگری که موجود است جایگزین شود و سپس این قوانین را از طریق مدیر قلم ارائه اعمال کنید.

تنظیم قوانین جایگزینی قلم

Aspose.Slides به شما امکان می‌دهد قوانین مربوط به قلم‌ها را طوری تنظیم کنید که در شرایط خاص (مثلاً وقتی یک قلم قابل دسترسی نیست) چه کاری انجام شود:

  1. ارائه مرتبط را بارگذاری کنید.
  2. قلمی را که قرار است جایگزین شود بارگذاری کنید.
  3. قلم جدید را بارگذاری کنید.
  4. قانونی برای جایگزینی اضافه کنید.
  5. قانون را به مجموعه قوانین جایگزینی قلم ارائه اضافه کنید.
  6. تصویر اسلاید را تولید کنید تا اثر را مشاهده کنید.

این کد PHP فرآیند جایگزینی قلم را نشان می‌دهد:

  # یک ارائه را بارگذاری می‌کند
  $pres = new Presentation("Fonts.pptx");
  try {
    # قلم منبعی که جایگزین می‌شود را بارگذاری می‌کند
    $sourceFont = new FontData("SomeRareFont");
    # قلم جدید را بارگذاری می‌کند
    $destFont = new FontData("Arial");
    # قانونی برای جایگزینی قلم اضافه می‌کند
    $fontSubstRule = new FontSubstRule($sourceFont, $destFont, FontSubstCondition->WhenInaccessible);
    # قانون را به مجموعه قوانین جایگزینی قلم اضافه می‌کند
    $fontSubstRuleCollection = new FontSubstRuleCollection();
    $fontSubstRuleCollection->add($fontSubstRule);
    # مجموعه قوانین قلم را به فهرست قوانین اضافه می‌کند
    $pres->getFontsManager()->setFontSubstRuleList($fontSubstRuleCollection);
    # قلم Arial در جای SomeRareFont استفاده خواهد شد وقتی قلم دوم در دسترس نباشد
    $slideImage = $pres->getSlides()->get_Item(0)->getImage(1.0, 1.0);
    # تصویر را در قالب JPEG روی دیسک ذخیره می‌کند
    try {
      $slideImage->save("Thumbnail_out.jpg", ImageFormat::Jpeg);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

محدودیت‌ها برای قلم‌های معادلات ریاضی

قوانین جایگزینی قلم در فرایند استاندارد انتخاب قلم که در هنگام رندر و تبدیل استفاده می‌شود شرکت می‌کنند. این قوانین برای سناریوهای متن معمول مناسب هستند که در آن Aspose.Slides می‌تواند یک قلم غیرقابل دسترسی را با قلم دیگری که موجود است بر اساس قانون تنظیم شده جایگزین کند.

با این حال، معادلات ریاضی Office محدودیت مهمی دارند. اگر معادله‌ای با Cambria Math ساخته شده باشد، Aspose.Slides ممکن است برای محاسبه و رندر صحیح چیدمان معادله هنوز به قلم اصلی Cambria Math نیاز داشته باشد. به همین دلیل، جایگزینی Cambria Math با قلم ریاضی دیگری مانند STIX Two Math برای رندر معادله پشتیبانی نمی‌شود و ممکن است هنوز استثنایی نشان دهد که Cambria Math ضروری است.

برای تبدیل موفق چنین ارائه‌هایی، اطمینان حاصل کنید که Cambria Math در زمان اجرا برای Aspose.Slides قابل دسترس باشد. می‌توانید قلم را در سیستم عامل نصب کنید یا به عنوان یک قلم خارجی فراهم کنید تا در فرایند انتخاب قلم عادی در زمان رندر و تبدیل شرکت کند.

این محدودیت مخصوص رندر معادله است. قوانین استاندارد جایگزینی قلم که در بالا توضیح داده شد همچنان برای متن عادي ارائه‌ها وقتی قلم اصلی قابل دسترس نیست اعمال می‌شوند.

سوالات متداول

فرق بین جایگزینی قلم و جایگزینی (substitution) قلم چیست؟

جایگزینی یک بازنویسی اجباری یک قلم با قلم دیگر در کل ارائه است. جایگزینی (substitution) قانونیتی است که تحت شرایط خاصی فعال می‌شود، مثلاً وقتی قلم اصلی در دسترس نیست و سپس قلم پیش‌فرض تعیین شده استفاده می‌شود.

قوانین جایگزینی دقیقا کی اعمال می‌شوند؟

این قوانین در توالی استاندارد انتخاب قلم شرکت می‌کنند که در زمان بارگذاری، رندر و تبدیل ارزیابی می‌شود؛ اگر قلم انتخاب شده در دسترس نباشد، جایگزینی یا جایگزینی (substitution) اعمال می‌شود.

اگر هیچ‌گونه قانون جایگزینی یا جایگزینی تنظیم نشده باشد و قلم بر روی سیستم موجود نباشد، رفتار پیش‌فرض چه خواهد بود؟

کتابخانه سعی می‌کند نزدیک‌ترین قلم موجود در سیستم را انتخاب کند، مشابه رفتاری که PowerPoint انجام می‌دهد.

آیا می‌توانم در زمان اجرا قلم‌های خارجی سفارشی اضافه کنم تا از جایگزینی جلوگیری شود؟

بله. می‌توانید در زمان اجرا قلم‌های خارجی اضافه کنید تا کتابخانه آنها را برای انتخاب و رندر، از جمله برای تبدیلات بعدی، در نظر بگیرد.

آیا Aspose فونتی همراه با کتابخانه توزیع می‌کند؟

خیر. Aspose هیچ فونت رایگان یا پولی همراه با کتابخانه توزیع نمی‌کند؛ شما فونت‌ها را به اختیار و مسئولیت خود اضافه و استفاده می‌کنید.

آیا تفاوت‌های رفتاری جایگزینی بین Windows، Linux و macOS وجود دارد؟

بله. کشف قلم از پوشه‌های قلم سیستم عامل آغاز می‌شود. مجموعه قلم‌های پیش‌فرض موجود و مسیرهای جستجو در هر پلتفرم متفاوت است که بر دسترسی و نیاز به جایگزینی تاثیر می‌گذارد.

برای کاهش جایگزینی‌های ناخواسته در تبدیل‌های دسته‌ای، محیط را چگونه باید آماده کنم؟

مجموعه قلم‌ها را در بین ماشین‌ها یا کانتینرها همگام کنید، قلم‌های خارجی مورد نیاز برای اسناد خروجی را اضافه کنید و در صورت امکان قلم‌ها را درون‌خط کنید تا قلم‌های انتخاب‌شده در زمان رندر در دسترس باشند.