เรนเดอร์การนำเสนอด้วยฟอนต์สำรองใน С++
Contents
[
Hide
]
ภาพรวม
Aspose.Slides อนุญาตให้คุณเรนเดอร์งานนำเสนอโดยใช้กฎฟอนต์สำรอง บทความนี้แสดงวิธีสร้างคอลเลกชันกฎฟอนต์สำรอง, แก้ไขกฎโดยการลบหรือเพิ่มฟอนต์สำรอง, และกำหนดคอลเลกชันโดยใช้เมธอด FontsManager::set_FontFallBackRulesCollection.
เมื่อคอลเลกชันกฎฟอนต์สำรองถูกกำหนดให้กับ FontsManager ของงานนำเสนอ, กฎจะถูกนำไปใช้ในระหว่างการดำเนินการเช่นการบันทึก, การเรนเดอร์, และการแปลงงานนำเสนอ ตัวอย่างนี้แสดงวิธีใช้กฎที่กำหนดค่าเมื่อเรนเดอร์ภาพย่อสไลด์และบันทึกเป็นภาพ PNG
เรนเดอร์สไลด์โดยใช้กฎฟอนต์สำรอง
ตัวอย่างต่อไปนี้ประกอบด้วยขั้นตอนเหล่านี้:
- เรา สร้างคอลเลกชันกฎฟอนต์สำรอง.
- ทำการ Remove() กฎฟอนต์สำรองและ AddFallBackFonts() ให้กับกฎอื่น.
- ส่งคอลเลกชันกฎไปยังเมธอด FontsManager::set_FontFallBackRulesCollection() .
- ด้วยเมธอด Presentation::Save() เราสามารถบันทึกงานนำเสนอในรูปแบบเดิม หรือบันทึกในรูปแบบอื่นได้ หลังจากที่คอลเลกชันกฎฟอนต์สำรองถูกตั้งค่าให้กับ FontsManager, กฎเหล่านี้จะถูกนำไปใช้ในทุกการดำเนินการกับงานนำเสนอ: บันทึก, เรนเดอร์, แปลง เป็นต้น.
// สร้างอินสแตนซ์ใหม่ของคอลเลกชันกฎ
auto rulesList = MakeObject<FontFallBackRulesCollection>();
// สร้างหลายกฎ
rulesList->Add(MakeObject<FontFallBackRule>(static_cast<uint32_t>(0x400), static_cast<uint32_t>(0x4FF), u"Times New Roman"));
//rulesList.Add(new FontFallBackRule(...));
for (const auto& fallBackRule : rulesList)
{
// พยายามลบฟอนต์สำรอง "Tahoma" จากกฎที่โหลด
fallBackRule->Remove(u"Tahoma");
// และอัปเดตกฎสำหรับช่วงที่ระบุ
if ((fallBackRule->get_RangeEndIndex() >= static_cast<uint32_t>(0x4000)) &&
(fallBackRule->get_RangeStartIndex() < static_cast<uint32_t>(0x5000)))
{
fallBackRule->AddFallBackFonts(u"Verdana");
}
}
// นอกจากนี้เรายังสามารถลบกฎที่มีอยู่ใด ๆ ออกจากรายการ
if (rulesList->get_Count() > 0)
{
rulesList->Remove(rulesList->idx_get(0));
}
auto pres = System::MakeObject<Presentation>(u"input.pptx");
// กำหนดรายการกฎที่เตรียมไว้สำหรับการใช้
pres->get_FontsManager()->set_FontFallBackRulesCollection(rulesList);
// เรนเดอร์ภาพย่อโดยใช้คอลเลกชันกฎที่กำหนดค่าไว้และบันทึกเป็น PNG
auto image = pres->get_Slide(0)->GetImage(1.f, 1.f);
image->Save(u"Slide_0.png", ImageFormat::Png);
image->Dispose();
pres->Dispose();
อ่านเพิ่มเติมเกี่ยวกับการ แปลงสไลด์ PowerPoint เป็น PNG ใน C++.