2014-02-06 1 views
0

Я хочу преобразовать динамический html в pdf. Следующий код показывает преобразование статического html в pdf.как преобразовать динамический html в pdf в java

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. Таким образом, вам нужно установить 'index.jsp' на сервере веб-приложений (например, Tomcat), а затем запросить этот сервер, используя адрес, используемый для страницы; таким образом вы получите полученную Html-страницу, которую вы, наконец, можете подать в 'XMLWorkerHelper'. – mkl

ответ

0

С вашего вопроса неясно, что вы подразумеваете под «динамическим HTML».

Если это динамически созданный HTML-код с JSP, например, PD4ML предлагает библиотеку пользовательских тегов JSP - вам нужно всего лишь окружить свой код и вывести PDF вместо HTML.

Если под динамическим HTML вы имеете в виду HTML-страницы, богатые JavaScript, я бы рекомендовал взглянуть на PhantomJS, который может конвертировать HTML-файлы, также созданные на лету с JavaScript. PhantomJS является родным автономным приложением, основанным на WebKit.

Смежные вопросы