項目搭建
springboot >2.2.2.RELEASE
pom.xml導入flying-saucer-pdf-itext5 包
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf-itext5</artifactId>
<version>9.0.6</version>
</dependency>
導出代碼
private void createPDF(String fileName , String html) {
OutputStream os = null;
try {
os = new FileOutputStream(fileName);
ITextRenderer renderer = new ITextRenderer();
ITextFontResolver fontResolver = renderer.getFontResolver();
//指定字體。爲了支持中文字體
fontResolver.addFont("C:/Windows/fonts/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
String content = "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"></meta><style type=\"text/css\"> body { font-family: SimSun; }</style> </head><body>" + html + "</body></html>";
renderer.setDocumentFromString(content);
renderer.layout();
renderer.createPDF(os);
renderer.finishPDF();
renderer = null;
}catch (Exception ex){
ex.printStackTrace();
}finally {
try{
if(os!=null)
os.close();
}catch (Exception ex1){
ex1.printStackTrace();
}
}
}
fileName爲PDF導出文件全路徑值
html爲不包含頭尾的html文本文件
支持中文注意:
1、fontResolver.addFont(“C:/Windows/fonts/simsun.ttc”, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
2、 body { font-family: SimSun; }