image.png (271.7 KB)
https://tezign-assets.oss-cn-beijing.aliyuncs.com/572da48221b7bffe6c9de3745d4380c6.pptx
public static void main(String[] args) {
final Presentation pres = new Presentation("/Users/zyx/Downloads/打造企业级内容的数字新基建.pptx");
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setDefaultRegularFont(“Arial”);
final IFontsManager fontsManager = pres.getFontsManager();
// 获取ppt里面所有的字体
IFontData[] embeddedFonts = fontsManager.getFonts();
FontsLoader.loadExternalFonts(new String[]{FileConvertConstant.FONT_PATH});
if(embeddedFonts.length > 0){
for (IFontData embeddedFont : embeddedFonts) {
final String fontName = embeddedFont.getFontName();
// 如果ppt中字体在本地不存在
if(!FontConfig.getLocalFontsSets().contains(fontName)){
// 最后指定默认的
fontsManager.replaceFont(embeddedFont, new FontData(FileConvertConstant.DEFAULT_FONT));
}
}
}
pres.save("/Users/zyx/Desktop/aaa.pdf", SaveFormat.Pdf,pdfOptions);
}