XWPFDocument xwpfDocument = new XWPFDocument(bisTemp);
PdfOptions pdfOptions = PdfOptions.create();
PdfConverter.getInstance().convert(xwpfDocument, fis, pdfOptions);
java 中word转pdf 很常见的一串代码,但是转换pdf的时候可能会出现这种情况
发现能转换的字体跟丢失的字体是不同的,百度了一下,可能是系统文字丢失导致的,尝试添加以下代码
XWPFDocument xwpfDocument = new XWPFDocument(bisTemp); PdfOptions pdfOptions = PdfOptions.create(); // 手动添加字体 pdfOptions.fontProvider(new IFontProvider() { @Override public Font getFont(String familyName, String encoding, float size, int style, Color color) { BaseFont bf = null; try { bf = BaseFont.createFont("C:\\Users\\haigougege\\AppData\\Local\\Microsoft\\Windows\\Fonts\\FangZhengFangSongJianTi-1.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); } catch (DocumentException e) { throw new RuntimeException(e); } catch (IOException e) { throw new RuntimeException(e); } return new Font(bf, size, style, color); } }); PdfConverter.getInstance().convert(xwpfDocument, fis, pdfOptions);
手动导入方正仿宋简体字体,成功转换pdf