กำหนดค่าการแทนฟอนต์ในการนำเสนอโดยใช้ PHP
บทนำ
การแทนที่ฟอนต์ทำให้ Aspose.Slides สามารถใช้ฟอนต์อื่นเมื่อฟอนต์ของงานนำเสนอเดิมไม่สามารถใช้ได้ระหว่างการเรนเดอร์หรือการแปลง คุณสามารถตรวจสอบว่าฟอนต์ใดถูกแทนที่โดยใช้เมธอด getSubstitutions ของคลาส FontsManager
Aspose.Slides ยังอนุญาตให้คุณกำหนดกฎการแทนฟอนต์ ตัวอย่างเช่น คุณสามารถระบุว่าฟอนต์ที่ไม่สามารถเข้าถึงได้ควรถูกแทนที่ด้วยฟอนต์ที่มีอยู่แล้วและจากนั้นนำกฎเหล่านั้นไปใช้ผ่านฟอนต์เมเนเจอร์ของงานนำเสนอ
ตั้งค่ากฎการแทนฟอนต์
Aspose.Slides อนุญาตให้คุณตั้งค่ากฎสำหรับฟอนต์ที่กำหนดว่าจะทำอย่างไรในเงื่อนไขบางอย่าง (เช่นเมื่อฟอนต์ไม่สามารถเข้าถึงได้) ดังนี้:
- โหลดงานนำเสนอที่เกี่ยวข้อง
- โหลดฟอนต์ที่ต้องการจะแทนที่
- โหลดฟอนต์ใหม่
- เพิ่มกฎสำหรับการแทนที่
- เพิ่มกฎลงในคอลเลกชันกฎการแทนฟอนต์ของงานนำเสนอ
- สร้างภาพสไลด์เพื่อสังเกตผลลัพธ์
โค้ด PHP นี้แสดงกระบวนการแทนฟอนต์:
# โหลดการนำเสนอ
$pres = new Presentation("Fonts.pptx");
try {
# โหลดฟอนต์ต้นทางที่จะแทนที่
$sourceFont = new FontData("SomeRareFont");
# โหลดฟอนต์ใหม่
$destFont = new FontData("Arial");
# เพิ่มกฎฟอนต์สำหรับการแทนที่ฟอนต์
$fontSubstRule = new FontSubstRule($sourceFont, $destFont, FontSubstCondition->WhenInaccessible);
# เพิ่มกฎลงในคอลเลกชันกฎการแทนฟอนต์
$fontSubstRuleCollection = new FontSubstRuleCollection();
$fontSubstRuleCollection->add($fontSubstRule);
# เพิ่มคอลเลกชันกฎฟอนต์ลงในรายการกฎ
$pres->getFontsManager()->setFontSubstRuleList($fontSubstRuleCollection);
# ฟอนต์ Arial จะถูกใช้แทน SomeRareFont เมื่อฟอนต์หลังจากนั้นไม่สามารถเข้าถึงได้
$slideImage = $pres->getSlides()->get_Item(0)->getImage(1.0, 1.0);
# บันทึกรูปภาพลงดิสก์ในรูปแบบ JPEG
try {
$slideImage->save("Thumbnail_out.jpg", ImageFormat::Jpeg);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
NOTE
คุณอาจต้องการดู การแทนที่ฟอนต์.ข้อจำกัดสำหรับฟอนต์สมการคณิตศาสตร์
กฎการแทนฟอนต์เข้าร่วมกระบวนการเลือกฟอนต์มาตรฐานที่ใช้ระหว่างการเรนเดอร์และการแปลง พวกมันเหมาะสำหรับสถานการณ์ข้อความทั่วไปที่ Aspose.Slides สามารถแทนฟอนต์ที่ไม่สามารถเข้าถึงได้ด้วยฟอนต์อื่นที่มีอยู่ตามกฎที่กำหนด
อย่างไรก็ตามสมการคณิตศาสตร์ของ Office มีข้อจำกัดสำคัญ หากสมการถูกสร้างด้วย Cambria Math Aspose.Slides อาจยังต้องการฟอนต์ Cambria Math ดั้งเดิมเพื่อคำนวณและเรนเดอร์การจัดวางสมการอย่างถูกต้อง เพราะฉะนั้นการแทนที่ Cambria Math ด้วยฟอนต์คณิตศาสตร์อื่น เช่น STIX Two Math ไม่ได้รับการสนับสนุนสำหรับการเรนเดอร์สมการและอาจยังทำให้เกิดข้อผิดพลาดที่บ่งชี้ว่าต้องการ Cambria Math อยู่
เพื่อแปลงงานนำเสนอเช่นนี้สำเร็จ ให้ตรวจสอบว่า Cambria Math มีอยู่ในระบบสำหรับ Aspose.Slides ขณะรันไทม์ คุณสามารถติดตั้งฟอนต์ในระบบปฏิบัติการหรือให้เป็น ฟอนต์ภายนอก เพื่อให้มันเข้าร่วมกระบวนการเลือกฟอนต์ปกติระหว่างการเรนเดอร์และการแปลง
ข้อจำกัดนี้เฉพาะการเรนเดอร์สมการเท่านั้น กฎการแทนฟอนต์มาตรฐานที่อธิบายไว้ข้างต้นยังคงใช้กับข้อความทั่วไปของงานนำเสนอเมื่อฟอนต์ดั้งเดิมไม่สามารถเข้าถึงได้
คำถามที่พบบ่อย
ความแตกต่างระหว่างการแทนที่ฟอนต์และการแทนฟอนต์คืออะไร?
การแทนที่ คือการบังคับให้ฟอนต์หนึ่งแทนที่ด้วยฟอนต์อื่นทั่วทั้งงานนำเสนอ การแทนฟอนต์คือกฎที่ทำงานเมื่อเงื่อนไขเฉพาะเกิดขึ้น เช่นฟอนต์ดั้งเดิมไม่พร้อมใช้งาน แล้วฟอนต์สำรองที่กำหนดจะถูกใช้
กฎการแทนฟอนต์จะถูกนำไปใช้เมื่อใด?
กฎเหล่านี้เข้าร่วมลำดับ การเลือกฟอนต์ มาตรฐานที่ประเมินระหว่างการโหลด, การเรนเดอร์ และการแปลง; หากฟอนต์ที่เลือกไม่พร้อมใช้งาน การแทนที่หรือการแทนฟอนต์จะถูกนำมาใช้
พฤติกรรมเริ่มต้นคืออะไรหากไม่มีการตั้งค่าการแทนที่หรือการแทนฟอนต์และฟอนต์หายไปจากระบบ?
ไลบรารีจะพยายามเลือกฟอนต์ระบบที่ใกล้เคียงที่สุด คล้ายกับที่ PowerPoint ทำ
ฉันสามารถแนบฟอนต์ภายนอกแบบกำหนดเองในขณะรันไทม์เพื่อหลีกเลี่ยงการแทนฟอนต์ได้หรือไม่?
ได้ คุณสามารถ เพิ่มฟอนต์ภายนอก ในขณะรันไทม์เพื่อให้ไลบรารีพิจารณาใช้ในการเลือกและเรนเดอร์ รวมถึงการแปลงต่อจากนั้น
Aspose แจกจ่ายฟอนต์ใดกับไลบรารีหรือไม่?
ไม่มี Aspose ไม่แจกจ่ายฟอนต์ที่เป็นแบบชำระเงินหรือฟรี; คุณต้องเพิ่มและใช้ฟอนต์ด้วยความรับผิดชอบของตนเอง
มีความแตกต่างในการทำงานของการแทนฟอนต์บน Windows, Linux และ macOS หรือไม่?
มี การค้นหาฟอนต์เริ่มจากไดเรกทอรีฟอนต์ของระบบปฏิบัติการ ชุดฟอนต์ที่พร้อมใช้งานโดยค่าเริ่มต้นและเส้นทางค้นหาต่างกันตามแพลตฟอร์ม ซึ่งส่งผลต่อความพร้อมใช้และความจำเป็นในการแทนฟอนต์
ฉันควรเตรียมสภาพแวดล้อมอย่างไรเพื่อให้การแทนฟอนต์ที่ไม่คาดคิดลดลงในการแปลงแบบแบทช์?
ซิงโครไนซ์ชุดฟอนต์ข้ามเครื่องหรือคอนเทนเนอร์, เพิ่มฟอนต์ภายนอก ที่จำเป็นสำหรับเอกสารผลลัพธ์, และ ฝังฟอนต์ ในงานนำเสนอเมื่อเป็นไปได้เพื่อให้ฟอนต์ที่เลือกพร้อมใช้งานระหว่างการเรนเดอร์