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

> แทนที่ฟอนต์ใน Aspose.Slides สำหรับ Python ผ่าน Java อย่างราบรื่นเพื่อให้การจัดตัวอักษรสอดคล้องกันในงานนำเสนอ PowerPoint และ OpenDocument.

Source: https://docs.aspose.com/slides/th/python-java/font-replacement/
Updated: 2026-09-14

## **ภาพรวม**

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

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

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

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

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

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

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

```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()
```

{{% alert title="Note" color="info" %}} 
เพื่อกำหนดกฎที่ระบุว่าจะทำอะไรในสถานการณ์บางอย่าง (เช่น หากไม่สามารถเข้าถึงฟอนต์ได้) ให้ดูที่ [การทดแทนฟอนต์](/slides/th/python-java/font-substitution/). 
{{% /alert %}}

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

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

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

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

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

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

**การแทนฟอนต์ทำงานเมื่อแปลงเป็น PDF/รูปภาพหรือไม่?**  
ใช่ ระหว่างการส่งออก Aspose.Slides จะใช้ [ลำดับการเลือก/ทดแทนฟอนต์](/slides/th/python-java/font-selection-sequence/) เดียวกัน ดังนั้นการแทนที่ที่ทำไว้ล่วงหน้าจะได้รับการเคารพในระหว่างการแปลง  

**ฉันต้องติดตั้งฟอนต์เป้าหมายในระบบหรือสามารถแนบโฟลเดอร์ฟอนต์ได้หรือไม่?**  
ไม่จำเป็นต้องติดตั้ง: ไลบรารีนี้อนุญาตให้ [โหลดฟอนต์ภายนอก](/slides/th/python-java/custom-font/) จากโฟลเดอร์ผู้ใช้เพื่อใช้ในระหว่างการ [เรนเดอร์และส่งออก](/slides/th/python-java/convert-powerpoint/)  

**การแทนที่จะทำให้ "tofu" (สี่เหลี่ยม) แทนที่อักขระหายไปได้หรือไม่?**  
เฉพาะเมื่อฟอนต์เป้าหมายมี glyph ที่ต้องการจริง หากไม่มี ให้ [กำหนดการสำรอง](/slides/th/python-java/fallback-font/) เพื่อครอบคลุมอักขระที่หายไป
