Springboot將html導出爲PDF

項目搭建

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; }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章