java使用itext实现html代码转pdf

来源:互联网 发布:linux添加用户到用户组 编辑:程序博客网 时间:2024/05/16 23:51

1、引入jar包

<dependency>
  <groupId>com.lowagie</groupId>
  <artifactId>itext</artifactId>
  <version>4.2.2</version>
  <type>pom</type>
</dependency>


2、ItextUtil示例代码

public class ItextUtil{ 
    /**
     * 将html文件打印成pdf文件
     * @param filePath
     * @param pdfPath
     */

    public void htmlCodeToPdf(String filePath, String pdfPath) {  
        Document document = new Document();  
        try {  
            StyleSheet st = new StyleSheet();  
            st.loadTagStyle("body""leading""16,0");  
            PdfWriter.getInstance(document, new FileOutputStream(pdfPath));  
            document.open();  
            ArrayList p = HTMLWorker.parseToList(new FileReader(filePath), st);  
            for(int k = 0; k < p.size(); ++k) {  
                document.add((Element)p.get(k));  
            }  
            document.close();  
        }catch(Exception e) {  
            e.printStackTrace();  
        }  
    }  

    /**
     * 将html字符串打印成pdf文件
     * @param htmlCode
     * @param pdfPath
     */
    public void htmlCodeComeString(String htmlCode, String pdfPath) {

        try {
            /*1、创建document对象*/
            Document doc = new Document(这里可以设置A4纸);
            /*2、创建PdfWriter实例*/
            PdfWriter.getInstance(doc, new FileOutputStream(pdfPath));
            /*3、打开文档*/
            doc.open();
            /*4、解决中文问题*/
            BaseFont bfChinese = BaseFont.createFont("这里是字体名称", "这里是字体编码", BaseFont.NOT_EMBEDDED);
            Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
            Paragraph t = new Paragraph(htmlCode, FontChinese);
            doc.add(t);
            doc.close();
        }catch(Exception e) {
            e.printStackTrace();
        }
    }

}

3、若jar包问题,可只取第二个方法,引入

        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>

            <version>5.5.12</version>

        </dependency>


原创粉丝点击