ปรับปรุงการแทนที่ฟอนต์ในงานนำเสนอโดยใช้ Python ผ่าน Java อย่างเป็นระบบ

ภาพรวม

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

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

เปลี่ยนฟอนต์

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

Aspose.Slides ให้คุณเปลี่ยนฟอนต์ตามวิธีต่อไปนี้:

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

โค้ด Python นี้แสดงตัวอย่างการเปลี่ยนฟอนต์:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FontData, Presentation, SaveFormat

# โหลดงานนำเสนอ.
presentation = Presentation("Fonts.pptx")
try:
    # โหลดฟอนต์ต้นทางที่จะถูกแทนที่.
    source_font = FontData("Arial")

    # โหลดฟอนต์ใหม่.
    destination_font = FontData("Times New Roman")

    # แทนที่ฟอนต์.
    presentation.getFontsManager().replaceFont(source_font, destination_font)

    # บันทึกงานนำเสนอ.
    presentation.save("UpdatedFont_out.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

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

ความแตกต่างระหว่าง “font replacement”, “font substitution”, และ “fallback fonts” คืออะไร?
การแทนที่คือการสลับแบบตั้งใจจากตระกูลหนึ่งไปยังอีกตระกูลหนึ่งทั่วทั้งเอกสาร การทดแทน คือกฎเช่น “หากฟอนต์ไม่พร้อมใช้ ให้ใช้ X” การสำรอง จะถูกนำไปใช้กับ glyph ที่หายไปเป็นรายบุคคลเมื่อฟอนต์พื้นฐานติดตั้งแล้วแต่ไม่มีอักขระที่ต้องการ

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

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

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

ฉันจะทราบล่วงหน้าว่างานนำเสนอใช้ฟอนต์ใดบ้างได้อย่างไร?
ใช้ [font manager]ของงานนำเสนอ(https://reference.aspose.com/slides/th/python-java/aspose.slides/fontsmanager/) ซึ่งให้รายการของ ฟอนต์ที่ใช้งาน และข้อมูลเกี่ยวกับ การทดแทน/“unknown” ฟอนต์ ซึ่งช่วยวางแผนการแทนที่

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

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

การแทนที่จะทำให้ “tofu” (สี่เหลี่ยม) แทนที่อักขระหายไปได้หรือไม่?
เฉพาะเมื่อฟอนต์เป้าหมายมี glyph ที่ต้องการจริง หากไม่มี ให้ กำหนดการสำรอง เพื่อครอบคลุมอักขระที่หายไป