Публичный API и обратно несовместимые изменения в Aspose.Slides для .NET 15.1.0

Изменения публичного API

Добавлена функциональность подстановки шрифтов

Добавлена возможность глобальной замены шрифта по всей презентации и временной замены при рендеринге.

В классе Presentation введено новое свойство “FontsManager”. Класс FontsManager содержит следующие члены:

IFontSubstRuleCollection FontSubstRuleList Property

Эта коллекция экземпляров IFontSubstRule используется для подстановки шрифтов во время рендеринга. IFontSubstRule имеет свойства SourceFont и DestFont, реализующие интерфейс IFontData, и свойство ReplaceFontCondition, позволяющее выбрать условие замены (“WhenInaccessible” или “Always”).

IFontData[] GetFonts() Method

Используется для получения всех шрифтов, используемых в текущей презентации.

ReplaceFont Methods

Используется для постоянной замены шрифта в презентации.

Следующий пример показывает, как заменить шрифт в презентации:


             Presentation pres = new Presentation("PresContainsArialFont.pptx");

            IFontData sourceFont = new FontData("Arial");

            IFontData destFont = new FontData("Times New Roman");

            pres.FontsManager.ReplaceFont(sourceFont, destFont);

            pres.Save("PresContainsTimesNoewRomanFont.pptx", SaveFormat.Pptx);


Другой пример демонстрирует подстановку шрифта при рендеринге, когда шрифт недоступен:


             Presentation pres = new Presentation("PresContainsSomeRareFontFont.pptx");

            IFontData sourceFont = new FontData("SomeRareFont");

            IFontData destFont = new FontData("Arial");

            IFontSubstRule fontSubstRule = new FontSubstRule(

                sourceFont, destFont, FontSubstCondition.WhenInaccessible);

            IFontSubstRuleCollection fontSubstRuleCollection = new FontSubstRuleCollection();

            fontSubstRuleCollection.Add(fontSubstRule);

            pres.FontsManager.FontSubstRuleList = fontSubstRuleCollection;

            // Arial font will be used instead of SomeRareFont when inaccessible

            pres.Slides[0].GetThumbnail();