Публичный API и несовместимые изменения в Aspose.Slides для Java 15.1.0
Изменения в публичном API
Добавлены функции замены шрифтов
Добавлена возможность глобально заменять шрифты по всей презентации и временно для рендеринга.
Введен новый метод getFontsManager() класса Presentation. Класс FontsManager имеет следующие члены:
IFontSubstRuleCollection getFontSubstRuleList() метод
Это коллекция экземпляров IFontSubstRule, используемых для замены шрифтов во время рендеринга. IFontSubstRule имеет методы getSourceFont() и getDestFont(), реализующие интерфейс IFontData, и метод getReplaceFontCondition(), позволяющий выбрать условие замены (“КогдаНедоступен” или “Всегда”).
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);