# ทำให้การแทนที่ฟอนต์ในงานนำเสนอโดยใช้ PHP รวดเร็วและง่ายดาย

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

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

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

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

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

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

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

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

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

โค้ด PHP นี้แสดงการแทนที่ฟอนต์:

```php
  # โหลดงานนำเสนอ
  $pres = new Presentation("Fonts.pptx");
  try {
    # โหลดฟอนต์ต้นฉบับที่จะแทนที่
    $sourceFont = new FontData("Arial");
    # โหลดฟอนต์ใหม่
    $destFont = new FontData("Times New Roman");
    # แทนที่ฟอนต์
    $pres->getFontsManager()->replaceFont($sourceFont, $destFont);
    # บันทึกงานนำเสนอ
    $pres->save("UpdatedFont_out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }
```

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

**การแทนที่จะสามารถแก้ไขปัญหา “tofu” (สี่เหลี่ยม) แทนตัวอักษรได้หรือไม่?**

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