API pubbliche e modifiche retroattive incompatibili in Aspose.Slides per Java 15.1.0

Modifiche all’API pubblica

È stata aggiunta la funzionalità di sostituzione dei font

È stata aggiunta la possibilità di sostituire i font a livello globale nella presentazione e temporaneamente durante il rendering.

È stato introdotto il nuovo metodo getFontsManager() della classe Presentation. La classe FontsManager ha i seguenti membri:

IFontSubstRuleCollection getFontSubstRuleList() method

Questa è la raccolta di istanze IFontSubstRule utilizzate per sostituire i font durante il rendering. IFontSubstRule dispone dei metodi getSourceFont() e getDestFont() che implementano l’interfaccia IFontData e del metodo getReplaceFontCondition() che consente di scegliere la condizione di sostituzione (“WhenInaccessible” o “Always”).

IFontData[] getFonts() method può essere usato per recuperare tutti i font utilizzati nella presentazione corrente.

replaceFont(…) methods possono essere usati per sostituire in modo persistente un font in una presentazione.

Il seguente esempio mostra come sostituire un font in una presentazione:


 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);

Un altro esempio mostra la sostituzione dei font per il rendering quando il font non è accessibile:



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);

// Il font Arial verrà utilizzato al posto di SomeRareFont quando non è accessibile

pres.getSlides().get_Item(0).getThumbnail(1, 1);