เรนเดอร์งานนำเสนอด้วยแบบอักษรสำรองบน Android

ภาพรวม

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();
}