กำหนดค่าการแทนที่ฟอนต์ในงานนำเสนอบน Android

ภาพรวม

การแทนที่ฟอนต์ทำให้ Aspose.Slides สามารถใช้ฟอนต์อื่นเมื่อฟอนต์ต้นฉบับของงานนำเสนอไม่สามารถใช้ได้ในระหว่างการแสดงผลหรือการแปลง คุณสามารถตรวจสอบว่าฟอนต์ใดบ้างที่ถูกแทนที่โดยใช้เมธอด getSubstitutions จากอินเทอร์เฟซ IFontsManager

Aspose.Slides ยังอนุญาตให้คุณกำหนดกฎการแทนที่ฟอนต์ได้ ตัวอย่างเช่น คุณสามารถระบุว่าฟอนต์ที่ไม่สามารถเข้าถึงได้ควรถูกแทนที่ด้วยฟอนต์ที่พร้อมใช้งานอื่น แล้วนำกฎเหล่านั้นไปใช้ผ่านตัวจัดการฟอนต์ของงานนำเสนอ

ตั้งค่ากฎการแทนที่ฟอนต์

Aspose.Slides อนุญาตให้คุณตั้งค่ากฎสำหรับฟอนต์ที่กำหนดว่าจะต้องทำอะไรในเงื่อนไขบางอย่าง (เช่น เมื่อฟอนต์ไม่สามารถเข้าถึงได้) ดังนี้:

  1. โหลดงานนำเสนอที่เกี่ยวข้อง
  2. โหลดฟอนต์ที่ต้องการแทนที่
  3. โหลดฟอนต์ใหม่
  4. เพิ่มกฎสำหรับการแทนที่
  5. เพิ่มกฎลงในคอลเลกชันกฎการแทนที่ฟอนต์ของงานนำเสนอ
  6. สร้างภาพสไลด์เพื่อดูผลลัพธ์

โค้ด Java นี้แสดงกระบวนการแทนที่ฟอนต์:

// โหลดงานนำเสนอ
Presentation pres = new Presentation("Fonts.pptx");
try {
    // โหลดฟอนต์ต้นฉบับที่จะแทนที่
    IFontData sourceFont = new FontData("SomeRareFont");
    
    // โหลดฟอนต์ใหม่
    IFontData destFont = new FontData("Arial");
    
    // เพิ่มกฎฟอนต์สำหรับการแทนที่ฟอนต์
    IFontSubstRule fontSubstRule = new FontSubstRule(sourceFont, destFont, FontSubstCondition.WhenInaccessible);
    
    // เพิ่มกฎลงในคอลเลกชันกฎการแทนฟอนต์
    IFontSubstRuleCollection fontSubstRuleCollection = new FontSubstRuleCollection();
    fontSubstRuleCollection.add(fontSubstRule);
    
    // เพิ่มคอลเลกชันกฎฟอนต์ไปยังรายการกฎ
    pres.getFontsManager().setFontSubstRuleList(fontSubstRuleCollection);
    
    // ฟอนต์ Arial จะถูกใช้แทน SomeRareFont เมื่อฟอนต์หลังนี้ไม่สามารถเข้าถึงได้
    IImage slideImage = pres.getSlides().get_Item(0).getImage(1f, 1f);
    
    // บันทึกรูปภาพลงดิสก์ในรูปแบบ JPEG
    try {
          slideImage.save("Thumbnail_out.jpg", ImageFormat.Jpeg);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

ข้อจำกัดสำหรับฟอนต์สมการคณิตศาสตร์

กฎการแทนที่ฟอนต์เข้าร่วมในกระบวนการเลือกฟอนต์มาตรฐานที่ใช้ระหว่างการแสดงผลและการแปลง พวกมันเหมาะสำหรับสถานการณ์ข้อความทั่วไปที่ Aspose.Slides สามารถแทนที่ฟอนต์ที่ไม่สามารถเข้าถึงได้ด้วยฟอนต์อื่นที่พร้อมใช้งานตามกฎที่กำหนด

อย่างไรก็ตาม สมการคณิตศาสตร์ของ Office มีข้อจำกัดสำคัญ หากสมการถูกสร้างด้วย Cambria Math Aspose.Slides อาจยังต้องการฟอนต์ Cambria Math ดั้งเดิมเพื่อคำนวณและแสดงผลการจัดเรียงสมการอย่างถูกต้อง ด้วยเหตุนี้ การแทนที่ Cambria Math ด้วยฟอนต์คณิตศาสตร์อื่น เช่น STIX Two Math ไม่ได้รับการสนับสนุนสำหรับการแสดงผลสมการและอาจยังทำให้เกิดข้อยกเว้นที่ระบุว่าต้องการ Cambria Math

เพื่อแปลงงานนำเสนอประเภทนี้ให้สำเร็จ ให้ตรวจสอบว่า Cambria Math มีอยู่สำหรับ Aspose.Slides ขณะรันไทม์ คุณสามารถติดตั้งฟอนต์ในระบบปฏิบัติการหรือให้เป็น ฟอนต์ภายนอก เพื่อให้มันเข้าร่วมในกระบวนการเลือกฟอนต์ตามปกติระหว่างการแสดงผลและการแปลง

ข้อจำกัดนี้เป็นเรื่องเฉพาะของการแสดงผลสมการ กฎการแทนที่ฟอนต์มาตรฐานที่อธิบายข้างต้นยังคงใช้กับข้อความทั่วไปของงานนำเสนอเมื่อฟอนต์ต้นฉบับไม่สามารถเข้าถึงได้

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

ความแตกต่างระหว่างการแทนที่ฟอนต์และการแทนฟอนต์คืออะไร?
Replacement เป็นการบังคับแทนที่ฟอนต์หนึ่งด้วยอีกฟอนต์หนึ่งทั่วทั้งงานนำเสนอ การแทนฟอนต์คือกฎที่ทำงานเมื่อเงื่อนไขเฉพาะเกิดขึ้น เช่น เมื่อฟอนต์ต้นฉบับไม่พร้อมใช้งาน แล้วจะใช้ฟอนต์สำรองที่กำหนด

กฎการแทนฟอนต์ถูกใช้เมื่อไหร่โดยตรง?
กฎเหล่านี้เข้าร่วมในลำดับการ เลือกฟอนต์ มาตรฐานที่ประเมินระหว่างการโหลด, การแสดงผล และการแปลง; หากฟอนต์ที่เลือกไม่พร้อมใช้งาน การแทนที่หรือการแทนฟอนต์จะถูกนำไปใช้

พฤติกรรมเริ่มต้นคืออะไรหากไม่มีการตั้งค่าการแทนที่หรือการแทนฟอนต์และฟอนต์หายไปจากระบบ?
ไลบรารีจะพยายามเลือกฟอนต์ระบบที่ใกล้เคียงที่สุดที่มีอยู่ ซึ่งคล้ายกับพฤติกรรมของ PowerPoint

ฉันสามารถแนบฟอนต์ภายนอกที่กำหนดเองขณะรันไทม์เพื่อหลีกเลี่ยงการแทนฟอนต์ได้หรือไม่?
ได้ คุณสามารถ เพิ่มฟอนต์ภายนอก ขณะรันไทม์เพื่อให้ไลบรารีพิจารณาใช้ในการเลือกและแสดงผล รวมถึงการแปลงต่อไป

Aspose แจกฟอนต์ใดกับไลบรารีหรือไม่?
ไม่มี Aspose ไม่จัดจำหน่ายฟอนต์ที่เป็นแบบจ่ายหรือฟรี; คุณต้องเพิ่มและใช้ฟอนต์ด้วยการตัดสินใจและความรับผิดชอบของคุณเอง

มีความแตกต่างในพฤติกรรมการแทนฟอนต์บน Windows, Linux, และ macOS หรือไม่?
มี การค้นหาฟอนต์เริ่มจากไดเรกทอรีฟอนต์ของระบบปฏิบัติการ ชุดฟอนต์ที่พร้อมใช้งานโดยค่าเริ่มต้นและเส้นทางการค้นหาจะแตกต่างกันระหว่างแพลตฟอร์ม ซึ่งส่งผลต่อความพร้อมใช้งานและความจำเป็นในการแทนฟอนต์

ฉันควรเตรียมสภาพแวดล้อมอย่างไรเพื่อ ลดการแทนฟอนต์ที่ไม่คาดคิดในการแปลงเป็นชุด?
ทำการซิงค์ชุดฟอนต์ระหว่างเครื่องหรือคอนเทนเนอร์, เพิ่มฟอนต์ภายนอก ที่จำเป็นสำหรับเอกสารผลลัพธ์, และ ฝังฟอนต์ ในงานนำเสนอเมื่อเป็นไปได้ เพื่อให้ฟอนต์ที่เลือกพร้อมใช้งานระหว่างการแสดงผล