ทำให้การแทนที่ฟอนต์ในงานนำเสนอด้วย Java มีประสิทธิภาพ

ภาพรวม

Aspose.Slides อนุญาตให้คุณแทนที่ฟอนต์หนึ่งด้วยฟอนต์อื่นทั่วทั้งงานนำเสนอ เมื่อฟอนต์ถูกแทนที่ ตัวอย่างฟอนต์เดิมทั้งหมดจะถูกเปลี่ยนเป็นฟอนต์ใหม่

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

แทนที่ฟอนต์

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

Aspose.Slides อนุญาตให้คุณแทนที่ฟอนต์โดยวิธีนี้:

  1. โหลดงานนำเสนอที่เกี่ยวข้อง
  2. โหลดฟอนต์ที่ต้องการแทนที่
  3. โหลดฟอนต์ใหม่
  4. แทนที่ฟอนต์
  5. เขียนงานนำเสนอที่แก้ไขเป็นไฟล์ PPTX

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

// โหลดงานนำเสนอ
Presentation pres = new Presentation("Fonts.pptx");
try {
    // โหลดฟอนต์ต้นทางที่จะถูกแทนที่
    IFontData sourceFont = new FontData("Arial");
    
    // โหลดฟอนต์ใหม่
    IFontData destFont = new FontData("Times New Roman");
    
    // แทนที่ฟอนต์
    pres.getFontsManager().replaceFont(sourceFont, destFont);
    
    // บันทึกงานนำเสนอ
    pres.save("UpdatedFont_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

ความแตกต่างระหว่าง “การแทนที่ฟอนต์”, “การทดแทนฟอนต์” และ “ฟอนต์สำรอง” คืออะไร?

การแทนที่เป็นการสลับตั้งใจจากตระกูลหนึ่งไปยังอีกตระกูลหนึ่งทั่วเอกสารทั้งหมด。การทดแทน เป็นกฎเช่น “หากฟอนต์ไม่พร้อมใช้งาน ให้ใช้ X.” ฟอนต์สำรอง ถูกใช้แบบเลือกเฉพาะสำหรับ glyph ที่หายไปเมื่อฟอนต์ฐานติดตั้งแล้วแต่ไม่มีอักขระที่ต้องการ

การแทนที่ใช้ได้กับสไลด์แม่, Layout, Notes และ Comments หรือไม่?

ใช่ การแทนที่ส่งผลต่อวัตถุทั้งหมดในงานนำเสนอที่ใช้ฟอนต์เดิม รวมถึงสไลด์แม่และ Notes; Comments ก็เป็นส่วนหนึ่งของเอกสารและถูกพิจารณาโดยเอนจินฟอนต์เช่นกัน

ฟอนต์จะเปลี่ยนในวัตถุ OLE ที่ฝังอยู่ (เช่น Excel) หรือไม่?

ไม่ เนื้อหา OLE ควบคุมโดยแอปพลิเคชันของตนเอง การแทนที่ในงานนำเสนอจะไม่เปลี่ยนรูปแบบข้อมูล OLE ภายใน; อาจแสดงเป็นภาพหรือเป็นเนื้อหาที่สามารถแก้ไขจากภายนอกได้

ฉันสามารถแทนที่ฟอนต์เฉพาะบางส่วนของงานนำเสนอ (ตามสไลด์หรือพื้นที่) ได้หรือไม่?

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

ฉันจะตรวจสอบล่วงหน้าว่างานนำเสนอใช้ฟอนต์อะไรบ้าง?

ใช้[ตัวจัดการฟอนต์]ของงานนำเสนอ(https://reference.aspose.com/slides/th/java/com.aspose.slides/fontsmanager/): มันให้รายการ[ตระกูลที่ใช้งาน]https://reference.aspose.com/slides/th/java/com.aspose.slides/fontsmanager/#getFonts–และข้อมูลเกี่ยวกับ[การทดแทน/ฟอนต์ที่ไม่รู้จัก]https://reference.aspose.com/slides/th/java/com.aspose.slides/fontsmanager/#getSubstitutions–, ซึ่งช่วยวางแผนการแทนที่

การแทนที่ฟอนต์ทำงานเมื่อแปลงเป็น PDF/รูปภาพหรือไม่?

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

จำเป็นต้องติดตั้งฟอนต์เป้าหมายในระบบหรือสามารถแนบโฟลเดอร์ฟอนต์ได้หรือไม่?

ไม่จำเป็นต้องติดตั้ง: ไลบรารีอนุญาตให้โหลดฟอนต์ภายนอกจากโฟลเดอร์ผู้ใช้เพื่อใช้ระหว่างการเรนเดอร์และการส่งออก

การแทนที่จะแก้ “tofu” (สี่เหลี่ยม) แทนตัวอักษรได้หรือไม่?

ได้เฉพาะเมื่อฟอนต์เป้าหมายจริงๆ มี glyph ที่ต้องการ หากไม่มีก็ต้องกำหนดฟอนต์สำรองเพื่อครอบคลุมอักขระที่ขาดหาย.