Публичный API и несовместимые изменения в Aspose.Slides для Java 15.1.0
Изменения в публичном API
Добавлена функциональность замены шрифтов
Добавлена возможность глобально заменять шрифты в презентации и временно для отображения.
Введён новый метод getFontsManager() класса Presentation. Класс FontsManager имеет следующие члены:
IFontSubstRuleCollection getFontSubstRuleList() метод
Это коллекция экземпляров IFontSubstRule, используемых для замены шрифтов во время рендеринга. IFontSubstRule имеет методы getSourceFont() и getDestFont(), реализующие интерфейс IFontData, и метод getReplaceFontCondition(), позволяющий выбрать условие замены (“WhenInaccessible” или “Always”).
IFontData[] getFonts() метод можно использовать для извлечения всех шрифтов, используемых в текущей презентации.
replaceFont(…) методы могут быть использованы для постоянной замены шрифта в презентации.
Следующий пример показывает, как заменить шрифт в презентации:
Presentation pres = new Presentation("PresContainsArialFont.pptx");
IFontData sourceFont = new FontData("Arial");
IFontData destFont = new FontData("Times New Roman");
pres.getFontsManager().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.getFontsManager().setFontSubstRuleList(fontSubstRuleCollection);
// Шрифт Arial будет использоваться вместо SomeRareFont, когда он будет недоступен
pres.getSlides().get_Item(0).getThumbnail(1, 1);