Präsentation mit Fallback-Schriftart rendern
Contents
[
Hide
]
Das folgende Beispiel umfasst diese Schritte:
- Wir erstellen eine Sammlung von Fallback-Schriftart-Regeln.
- Remove() eine Fallback-Schriftartregel und AddFallBackFonts() zu einer anderen Regel hinzufügen.
- Regeln-Sammlung auf FontsManager::set_FontFallBackRulesCollection() Eigenschaft setzen.
- Mit Presentation::Save() Methode können wir die Präsentation im gleichen Format speichern oder in einem anderen. Nachdem die Fallback-Schriftart-Regeln-Sammlung dem FontsManager zugewiesen wurde, werden diese Regeln während aller Operationen über die Präsentation angewendet: speichern, rendern, konvertieren usw.
// Erstellen Sie eine neue Instanz einer Regelssammlung
auto rulesList = MakeObject<FontFallBackRulesCollection>();
// Erstellen Sie eine Anzahl von Regeln
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)
{
// Versuch, die Fallback-Schriftart "Tahoma" aus den geladenen Regeln zu entfernen
fallBackRule->Remove(u"Tahoma");
// Und um die Regeln für den angegebenen Bereich zu aktualisieren
if ((fallBackRule->get_RangeEndIndex() >= static_cast<uint32_t>(0x4000)) &&
(fallBackRule->get_RangeStartIndex() < static_cast<uint32_t>(0x5000)))
{
fallBackRule->AddFallBackFonts(u"Verdana");
}
}
// Auch können wir vorhandene Regeln aus der Liste entfernen
if (rulesList->get_Count() > 0)
{
rulesList->Remove(rulesList->idx_get(0));
}
auto pres = System::MakeObject<Presentation>(u"input.pptx");
// Zuweisen einer vorbereiteten Regel-Liste zur Verwendung
pres->get_FontsManager()->set_FontFallBackRulesCollection(rulesList);
// Rendering des Thumbnails mit der Verwendung der initialisierten Regelssammlung und speichern als PNG
auto image = pres->get_Slide(0)->GetImage(1.f, 1.f);
image->Save(u"Slide_0.png", ImageFormat::Png);
image->Dispose();
pres->Dispose();
Erfahren Sie mehr über Speichern und Konvertieren in Präsentationen.