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

ภาพรวม

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

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

แทนที่ฟอนต์

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

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

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

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

// โหลดงานนำเสนอ
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);

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

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

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

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

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

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

ไม่. เนื้อหา OLE ถูกควบคุมโดยแอปพลิเคชันของมันเอง การแทนที่ในงานนำเสนอจะไม่ปรับรูปแบบข้อมูลภายใน OLE; มันอาจแสดงเป็นภาพหรือเป็นเนื้อหาที่แก้ไขได้จากภายนอก.

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

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

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

ใช้ ตัวจัดการฟอนต์: มันให้รายการของ ครอบครัวฟอนต์ที่ใช้ และข้อมูลเกี่ยวกับ การแทนที่/“ฟอนต์ที่ไม่ทราบ” ซึ่งช่วยวางแผนการแทนที่ได้.

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

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

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

ไม่จำเป็นต้องติดตั้ง: ไลบรารีนี้อนุญาตให้ โหลดฟอนต์ภายนอก จากโฟลเดอร์ผู้ใช้เพื่อนำไปใช้ระหว่าง การเรนเดอร์และการส่งออก.

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

จะทำได้เฉพาะเมื่อฟอนต์เป้าหมายมี glyph ที่ต้องการจริง ๆ หากไม่มีก็ให้ กำหนดค่าฟอนต์สำรอง เพื่อครอบคลุมอักขระที่หายไป.