如何在java中将动态html转换为pdf

时间:2014-02-06 11:07:29

标签: java html pdf

我想将动态html转换为pdf.following代码显示静态html转换为pdf。

Document document = new Document();
        // step 2
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("d:/sample/pdfaskkea.pdf"));
        // step 3
        document.open();
        // step 4
        XMLWorkerHelper.getInstance().parseXHtml(writer, document,new FileInputStream("webcontent/jsp/index.jsp"), null); 

//        XMLWorkerHelper.getInstance().parseXHtml(writer, document,new FileInputStream("C:\\pdf_table1.html"), null);
        //step 5


         document.close();

        System.out.println( "PDF Created!" );

2 个答案:

答案 0 :(得分:0)

根据您的问题,目前尚不清楚,您在“动态HTML”下的含义。

如果它是使用JSP动态创建的HTML,例如,PD4ML提供了一个JSP自定义标记库 - 您只需要用代码包围代码而不是HTML。

如果在动态HTML下您指的是富含JavaScript的HTML页面,我建议您查看PhantomJS,它可以转换使用JavaScript即时构建的HTML。 PhantomJS是一个基于WebKit的本机独立应用程序。

答案 1 :(得分:0)

您可以使用 itext pdf 库将 html 转换为丰富的 PDF 文件。要生成动态 HTML 内容,您可以使用像 thymeleaf 这样的模板库。

如果您有兴趣,我有一篇关于 generating PDF files with thymeleaf in a spring boot 应用程序的详细文章。