Java 如何将动态html转换为pdf?

Java 如何将动态html转换为pdf?,java,html,pdf,Java,Html,Pdf,我想把动态html转换成pdf。以下代码显示静态html到pdf的转换: Document document = new Document(); // step 2 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("d:/sample/pdfaskkea.pdf")); // step 3 document.open(

我想把动态html转换成pdf。以下代码显示静态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!" );

从您的问题来看,不清楚“动态HTML”下的含义

例如,如果它是一个用JSP动态创建的HTML,那么它提供了一个JSP自定义标记库——您只需要用PDF而不是HTML来包围代码并输出它


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

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


如果您感兴趣,我有一篇关于应用程序的详细文章。

XMLWorkerHelper.getInstance().parseXHtml
解析XHtml。它不执行Java服务器页面代码。因此,您需要在web应用服务器(例如Tomcat)上安装
index.jsp
,然后使用用于页面的地址查询该服务器;通过这种方式,您将检索生成的Html页面,最终可以将其输入到
XMLWorkerHelper