package com.aspose.slides.examples.Text; import java.awt.Dimension; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import com.aspose.slides.IFontData; import com.aspose.slides.IFontsManager; import com.aspose.slides.Presentation; import com.aspose.slides.SaveFormat; import com.aspose.slides.examples.Utils; public class ManagingEmbeddedFonts { private static final String dataDir = Utils.getSharedDataDir(ManagingEmbeddedFonts.class) + "Text/"; public static void main(String[] args) throws IOException { // load the presentation with embedded "Calibri" font in it Presentation pres = new Presentation(dataDir + "Pres.pptx"); try { // render the presentation containing the text frame with the text using embedded "Calibri" font ImageIO.write(pres.getSlides().get_Item(0).getThumbnail(new Dimension(960, 720)), "PNG", new File(dataDir + "pres-1.png")); IFontsManager fontsManager = pres.getFontsManager(); // get all embedded fonts IFontData[] embeddedFonts = fontsManager.getEmbeddedFonts(); // find "Calibri" font IFontData calibriEmbeddedFont = null; for (int i = 0; i < embeddedFonts.length; i++) { System.out.println(""+ embeddedFonts[i].getFontName()); if ("Calibri".equals(embeddedFonts[i].getFontName())) { calibriEmbeddedFont = embeddedFonts[i]; break; } } // remove "Calibri" font fontsManager.removeEmbeddedFont(calibriEmbeddedFont); // render the presentation after removing the "FunSized" font resulting in a font replacement from "FunSized" to an existing one ImageIO.write(pres.getSlides().get_Item(0).getThumbnail(new Dimension(960, 720)), "PNG", new File(dataDir + "pres-2.png")); // save the presentation without embedded "Calibri" font pres.save(dataDir + "WithoutEmbeddedFont_out.ppt", SaveFormat.Ppt); } finally { if (pres != null) pres.dispose(); } } }