# กำหนดค่าการแทนที่แบบอักษรในงานนำเสนอด้วย Python

> เปิดใช้งานการแทนที่แบบอักษรที่เหมาะสมใน Aspose.Slides สำหรับ Python ผ่าน .NET เมื่อแปลงงานนำเสนอ PowerPoint และ OpenDocument ไปเป็นรูปแบบไฟล์อื่น

Source: https://docs.aspose.com/slides/th/python-net/font-substitution/
Updated: 2026-06-13

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

การแทนที่แบบอักษร (font substitution) ทำให้ Aspose.Slides สามารถใช้แบบอักษรอื่นเมื่อแบบอักษรของการนำเสนอเดิมไม่พร้อมใช้งานในระหว่างการเรนเดอร์หรือการแปลง คุณสามารถตรวจสอบว่าแบบอักษรใดถูกแทนที่โดยใช้เมธอด `get_substitutions` จากคลาส `FontsManager`.

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

## **ตั้งค่ากฎการแทนที่แบบอักษร**

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

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

โค้ด Python นี้แสดงกระบวนการแทนที่แบบอักษร:

```python
import aspose.slides as slides

# โหลดงานนำเสนอ
with slides.Presentation(path + "Fonts.pptx") as presentation:
    # โหลดแบบอักษรต้นฉบับที่จะแทนที่
    sourceFont = slides.FontData("SomeRareFont")

    # โหลดแบบอักษรใหม่
    destFont = slides.FontData("Arial")

    # เพิ่มกฎแบบอักษรสำหรับการแทนที่แบบอักษร
    fontSubstRule = slides.FontSubstRule(sourceFont, destFont, slides.FontSubstCondition.WHEN_INACCESSIBLE)

    # เพิ่มกฎลงในคอลเลกชันกฎการแทนที่แบบอักษร
    fontSubstRuleCollection = slides.FontSubstRuleCollection()
    fontSubstRuleCollection.add(fontSubstRule)

    # เพิ่มคอลเลกชันกฎแบบอักษรไปยังรายการกฎ
    presentation.fonts_manager.font_subst_rule_list = fontSubstRuleCollection

    #แบบอักษร Arial จะถูกใช้แทน SomeRareFont เมื่อตัวนั้นไม่สามารถเข้าถึงได้
    with presentation.slides[0].get_image(1, 1) as bmp:
        # บันทึกภาพลงดิสก์ในรูปแบบ JPEG
        bmp.save("Thumbnail_out.jpg", slides.ImageFormat.JPEG)
```

{{%  alert title="NOTE"  color="warning"   %}} 
คุณอาจต้องการดู [**Font Replacement**](/slides/th/python-net/font-replacement/). 
{{% /alert %}}

## **ข้อจำกัดสำหรับแบบอักษรสมการคณิตศาสตร์**

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

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

เพื่อแปลงการนำเสนอประเภทนี้ให้สำเร็จ โปรดตรวจสอบว่า **Cambria Math** มีให้กับ Aspose.Slides ขณะทำงาน คุณสามารถติดตั้งแบบอักษรในระบบปฏิบัติการหรือให้เป็น [external font](/slides/th/python-net/custom-font/) เพื่อให้มันเข้าร่วมกระบวนการเลือกแบบอักษรปกติระหว่างการเรนเดอร์และการแปลง.

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

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

**ความแตกต่างระหว่างการแทนที่แบบอักษร (font replacement) กับการแทนที่แบบอักษร (font substitution) คืออะไร?**

[Replacement](/slides/th/python-net/font-replacement/) คือการบังคับแทนที่แบบอักษรหนึ่งด้วยอีกแบบหนึ่งทั่วทั้งการนำเสนอ การแทนที่แบบอักษร (substitution) เป็นกฎที่ทำงานเมื่อเงื่อนไขเฉพาะ เช่น เมื่อแบบอักษรดั้งเดิมไม่พร้อมใช้งาน แล้วจึงใช้แบบอักษรสำรองที่กำหนดไว้.

**กฎการแทนที่แบบอักษร (substitution) ถูกนำไปใช้เมื่อใด?**

กฎเหล่านี้มีส่วนร่วมในลำดับการเลือกแบบอักษรมาตรฐาน [font selection](/slides/th/python-net/font-selection-sequence/) ที่ประเมินในระหว่างการโหลด, การเรนเดอร์, และการแปลง; หากแบบอักษรที่เลือกไม่พร้อมใช้งาน จะมีการทำการแทนที่หรือการแทนที่แบบอักษร (substitution) ตามที่กำหนด.

**พฤติกรรมโดยปริยายคืออะไร หากไม่มีการตั้งค่าการแทนที่หรือการแทนที่แบบอักษรและแบบอักษรหายไปในระบบ?**

ไลบรารีจะพยายามเลือกแบบอักษรระบบที่ใกล้เคียงและพร้อมใช้ที่สุด ซึ่งคล้ายกับการทำงานของ PowerPoint.

**ฉันสามารถแนบแบบอักษรภายนอกที่กำหนดเองในขณะทำงานเพื่อหลีกเลี่ยงการแทนที่แบบอักษรได้หรือไม่?**

ได้ คุณสามารถ [add external fonts](/slides/th/python-net/custom-font/) ในขณะทำงานเพื่อให้ไลบรารีพิจารณาใช้ในการเลือกและเรนเดอร์ รวมถึงการแปลงต่อเนื่องได้.

**Aspose แจกจ่ายแบบอักษรใดๆ มาพร้อมกับไลบรารีหรือไม่?**

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

**พฤติกรรมการแทนที่แบบอักษรแตกต่างกันระหว่าง Windows, Linux, และ macOS หรือไม่?**

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

**ฉันควรเตรียมสภาพแวดล้อมอย่างไรเพื่อให้การแทนที่แบบอักษรที่ไม่คาดคิดในกระบวนการแปลงเป็นชุดน้อยที่สุด?**

ควรทำการซิงโครไนซ์ชุดแบบอักษรระหว่างเครื่องหรือคอนเทนเนอร์ต่าง ๆ, [add the external fonts](/slides/th/python-net/custom-font/) ที่จำเป็นสำหรับเอกสารผลลัพธ์, และ [embed fonts](/slides/th/python-net/embedded-font/) ในการนำเสนอเมื่อเป็นไปได้ เพื่อให้แบบอักษรที่เลือกพร้อมใช้งานในระหว่างการเรนเดอร์.
