2014-02-06 25 views
0

我想将动态html转换为pdf.following代码显示将静态html转换为pdf。如何将动态html转换为java中的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!"); 
+0

'XMLWorkerHelper.getInstance()。parseXHtml'解析XHtml。它不**执行Java服务器页面代码。因此,您需要在Web应用程序服务器(例如Tomcat)上安装'index.jsp',然后使用用于该页面的地址来查询该服务器;这样您将检索生成的Html页面,您最终可以将其提供到“XMLWorkerHelper”中。 – mkl

回答

0

从你的问题中不清楚,你的意思是“动态HTML”。

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

如果在动态HTML中,您的意思是JavaScript页面丰富的HTML页面,我建议您查看PhantomJS,它可以转换也是用JavaScript实时创建的HTML。 PhantomJS是基于WebKit的原生独立应用程序。