# ทำให้การแทนที่ฟอนต์ในงานนำเสนอด้วย С++ ราบรื่น

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

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

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

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

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

## **แทนที่ฟอนต์**

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

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

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

โค้ด C++ นี้แสดงตัวอย่างการแทนที่ฟอนต์:

``` cpp
// โหลดงานนำเสนอ
auto presentation = System::MakeObject<Presentation>(u"Fonts.pptx");

// โหลดฟอนต์ต้นฉบับที่จะถูกแทนที่
auto sourceFont = System::MakeObject<FontData>(u"Arial");

// โหลดฟอนต์ใหม่
auto destFont = System::MakeObject<FontData>(u"Times New Roman");

// แทนที่ฟอนต์
presentation->get_FontsManager()->ReplaceFont(sourceFont, destFont);

// บันทึกงานนำเสนอ
presentation->Save(u"UpdatedFont_out.pptx", SaveFormat::Pptx);
```

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

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

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

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

**การแทนที่ใช้กับสไลด์แม่, เลเอาต์, โน้ต และคอมเมนต์หรือไม่?**

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

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

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

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

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

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

ใช้ [ตัวจัดการฟอนต์](https://reference.aspose.com/slides/th/cpp/aspose.slides/fontsmanager/): มันให้รายการของ [ครอบครัวฟอนต์ที่ใช้](https://reference.aspose.com/slides/th/cpp/aspose.slides/fontsmanager/getfonts/) และข้อมูลเกี่ยวกับ [การแทนที่/"ฟอนต์ที่ไม่ทราบ"](https://reference.aspose.com/slides/th/cpp/aspose.slides/fontsmanager/getsubstitutions/) ซึ่งช่วยวางแผนการแทนที่ได้.

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

ใช่. ระหว่างการส่งออก Aspose.Slides จะใช้ลำดับการเลือก/การแทนที่ฟอนต์เดียวกัน ([ลำดับการเลือก/การแทนที่ฟอนต์](/slides/th/cpp/font-selection-sequence/)) ดังนั้นการแทนที่ที่ทำไว้ล่วงหน้าจะถูกนำไปใช้ในการแปลง.

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

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

**การแทนที่จะทำให้ "tofu" (สี่เหลี่ยม) แทนที่อักขระหรือไม่?**

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