API Público y Cambios Incompatibles hacia Atrás en Aspose.Slides para Java 15.1.0
Cambios en la API Pública
Se ha añadido funcionalidad de sustitución de fuentes
Se ha añadido la posibilidad de reemplazar fuentes globalmente en la presentación y temporalmente para renderización.
Se ha introducido un nuevo método getFontsManager() de la clase Presentation. La clase FontsManager tiene los siguientes miembros:
IFontSubstRuleCollection getFontSubstRuleList() método
Esta es la colección de instancias de IFontSubstRule utilizadas para sustituir fuentes durante la renderización. IFontSubstRule tiene los métodos getSourceFont() y getDestFont() que implementan la interfaz IFontData y el método getReplaceFontCondition() que permite elegir la condición de reemplazo (“WhenInaccessible” o “Always”).
El método IFontData[] getFonts() se puede utilizar para recuperar todas las fuentes utilizadas en la presentación actual.
Los métodos replaceFont(…) se pueden utilizar para reemplazar de forma persistente una fuente en una presentación.
El siguiente ejemplo muestra cómo reemplazar una fuente en una presentación:
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);
Otro ejemplo muestra la sustitución de fuentes para renderización cuando esta es inaccesible:
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);
// Se utilizará la fuente Arial en lugar de SomeRareFont cuando sea inaccesible
pres.getSlides().get_Item(0).getThumbnail(1, 1);