# กำหนดค่าการแทนฟอนต์ในงานนำเสนอใน .NET

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

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

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

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

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

## **รับการแทนที่ฟอนต์**

เพื่อให้คุณสามารถค้นหาฟอนต์ของงานนำเสนอที่ถูกแทนที่ระหว่างกระบวนการเรนเดอร์งานนำเสนอ Aspose.Slides ได้จัดเตรียมเมธอด [GetSubstitution](https://reference.aspose.com/slides/th/net/aspose.slides/fontsmanager/getsubstitutions/) จากอินเทอร์เฟซ [IFontsManager](https://reference.aspose.com/slides/th/net/aspose.slides/ifontsmanager/)  

โค้ด C# แสดงวิธีรับการแทนที่ฟอนต์ทั้งหมดที่ทำขณะเรนเดอร์งานนำเสนอ:  
```c#
using (Presentation pres = new Presentation(@"Presentation.pptx"))
{
    foreach (var fontSubstitution in pres.FontsManager.GetSubstitutions())
    {
        Console.WriteLine("{0} -> {1}", fontSubstitution.OriginalFontName, fontSubstitution.SubstitutedFontName);
    }
}
```

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

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

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

โค้ด C# นี้แสดงกระบวนการแทนที่ฟอนต์:  
```c#
// โหลดงานนำเสนอ
Presentation presentation = new Presentation("Fonts.pptx");

// โหลดฟอนต์ต้นฉบับที่จะถูกแทนที่
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);

// เพิ่มคอลเลกชันกฎฟอนต์ไปยังรายการกฎ
presentation.FontsManager.FontSubstRuleList = fontSubstRuleCollection;

using (IImage image = presentation.Slides[0].GetImage(1f, 1f))
{
    // บันทึกรูปภาพลงดิสก์ในรูปแบบ JPEG
    image.Save("Thumbnail_out.jpg", ImageFormat.Jpeg);
}
```

{{%  alert title="NOTE"  color="warning"   %}} 
คุณอาจต้องการดู [**การแทนที่ฟอนต์**](/slides/th/net/font-replacement/). 
{{% /alert %}}

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

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

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

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

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

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

**ความแตกต่างระหว่างการแทนที่ฟอนต์และการแทนฟอนต์คืออะไร?**  

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

**กฎการแทนที่ฟอนต์ทำงานเมื่อใด?**  

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

**พฤติกรรมเริ่มต้นคืออะไรหากไม่ได้กำหนดการแทนที่หรือการแทนฟอนต์และฟอนต์ไม่มีในระบบ?**  

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

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

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

**Aspose แจกจ่ายฟอนต์ใดกับไลบรารีหรือไม่?**  

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

**มีความแตกต่างในการทำงานของการแทนฟอนต์ระหว่าง Windows, Linux และ macOS หรือไม่?**  

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

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

ทำการซิงค์ชุดฟอนต์ระหว่างเครื่องหรือคอนเทนเนอร์, [เพิ่มฟอนต์ภายนอก](/slides/th/net/custom-font/) ที่จำเป็นสำหรับเอกสารผลลัพธ์, และ [ฝังฟอนต์](/slides/th/net/embedded-font/) ในงานนำเสนอเมื่อทำได้ เพื่อให้ฟอนต์ที่เลือกพร้อมใช้งานระหว่างการเรนเดอร์
