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