ตั้งค่าคอลเลกชันฟอนต์สำรองใน PHP

ภาพรวม

Aspose.Slides ให้คุณกำหนดกฎฟอนต์สำรองสำหรับงานนำเสนอ แต่ละกฎฟอนต์สำรองถูกแทนด้วยคลาส FontFallBackRule และสามารถเพิ่มลงใน FontFallBackRulesCollection ได้

หลังจากสร้างคอลเลกชันแล้ว คุณสามารถกำหนดให้กับเมธอด setFontFallBackRulesCollection ของ FontsManager ของงานนำเสนอ FontsManager ควบคุมฟอนต์ทั่วทั้งงานนำเสนอ และแต่ละอินสแตนซ์ของ Presentation จะมี FontsManager ของตนเอง

เมื่อ FontsManager ถูกเริ่มต้นด้วยคอลเลกชันฟอนต์สำรอง ฟอนต์สำรองที่ระบุจะถูกนำไปใช้ระหว่างการเรนเดอร์งานนำเสนอ

ใช้กฎฟอนต์สำรอง

อินสแตนซ์ของFontFallBackRuleสามารถจัดเป็นFontFallBackRulesCollectionได้ สามารถเพิ่มหรือเอากฎออกจากคอลเลกชันได้

จากนั้นคอลเลกชันนี้อาจถูกกำหนดให้กับเมธอดFontFallBackRulesCollectionของคลาสFontsManager FontsManager ควบคุมฟอนต์ทั่วงานนำเสนอ

แต่ละPresentationมีเมธอดgetFontsManagerพร้อมอินสแตนซ์ของคลาสFontsManagerของตนเอง

ต่อไปนี้คือตัวอย่างการสร้างคอลเลกชันกฎฟอนต์สำรองและกำหนดให้กับFontsManagerของงานนำเสนอบางงาน:

  $pres = new Presentation();
  try {
    $userRulesList = new FontFallBackRulesCollection();
    $userRulesList->add(new FontFallBackRule(0xb80, 0xbff, "Vijaya"));
    $userRulesList->add(new FontFallBackRule(0x3040, 0x309f, "MS Mincho, MS Gothic"));
    $pres->getFontsManager()->setFontFallBackRulesCollection($userRulesList);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

หลังจาก FontsManager ถูกเริ่มต้นด้วยคอลเลกชันฟอนต์สำรอง ฟอนต์สำรองจะถูกนำไปใช้ระหว่างการเรนเดอร์งานนำเสนอ

คำถามที่พบบ่อย

กฎฟอนต์สำรองของฉันจะฝังอยู่ในไฟล์ PPTX และปรากฏใน PowerPoint หลังจากบันทึกหรือไม่?

ไม่ กฎฟอนต์สำรองเป็นการตั้งค่าเรนเดอร์ขณะทำงาน; ไม่ได้ถูกซีเรียลไลซ์ลงใน PPTX และจะไม่ปรากฏใน UI ของ PowerPoint

ฟอนต์สำรองใช้กับข้อความใน SmartArt, WordArt, แผนภูมิ และตารางหรือไม่?

ใช่ กลไกการแทนที่ glyph เดียวกันจะถูกใช้กับข้อความใด ๆ ในวัตถุเหล่านี้

Aspose แจกจ่ายฟอนต์ใด ๆ มาพร้อมไลบรารีหรือไม่?

ไม่ คุณต้องเพิ่มและใช้ฟอนต์ด้วยตนเองและรับผิดชอบต่อการใช้งานนั้น

สามารถใช้การแทนที่/การทดแทนฟอนต์ที่หายไปและฟอนต์สำรองสำหรับ glyph ที่หายไปพร้อมกันได้หรือไม่?

ได้ ทั้งสองเป็นขั้นตอนอิสระของไพพ์ไลน์การแก้ปัญหาฟอนต์เดียวกัน: ก่อนหน้าเอนจินจะตรวจสอบความพร้อมของฟอนต์ (replacement/substitution) แล้วฟอนต์สำรองจะเติมช่องว่างของ glyph ที่หายไปในฟอนต์ที่มีอยู่