Отображение презентаций с резервными шрифтами в .NET
Contents
[
Hide
]
В следующем примере содержатся следующие шаги:
- Мы создаём коллекцию правил резервных шрифтов.
- Remove() правило резервного шрифта и AddFallBackFonts() к другому правилу.
- Установите коллекцию правил в свойство FontsManager.FontFallBackRulesCollection.
- С помощью метода Presentation.Save() мы можем сохранить презентацию в том же формате или в другом. После того как коллекция правил резервных шрифтов установлена в FontsManager, эти правила применяются при любых операциях с презентацией: сохранение, рендеринг, конвертация и т.д.
// Создать новый экземпляр коллекции правил
IFontFallBackRulesCollection rulesList = new FontFallBackRulesCollection();
// create a number of rules
rulesList.Add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman"));
//rulesList.Add(new FontFallBackRule(...));
foreach (IFontFallBackRule fallBackRule in rulesList)
{
// Пытаемся удалить резервный шрифт "Tahoma" из загруженных правил
fallBackRule.Remove("Tahoma");
// И обновить правила для указанного диапазона
if ((fallBackRule.RangeEndIndex >= 0x4000) && (fallBackRule.RangeStartIndex < 0x5000))
fallBackRule.AddFallBackFonts("Verdana");
}
// Также можно удалить любые существующие правила из списка
if (rulesList.Count > 0)
rulesList.Remove(rulesList[0]);
using (Presentation pres = new Presentation("input.pptx"))
{
// Назначаем подготовленный список правил для использования
pres.FontsManager.FontFallBackRulesCollection = rulesList;
// Рендерим миниатюру с использованием инициализированной коллекции правил и сохраняем в PNG
using (IImage image = pres.Slides[0].GetImage(1f, 1f))
{
image.Save("Slide_0.png", ImageFormat.Png);
}
}
Подробнее о Save and Convertion in Presentation.