Converter html p/ pdf usando itext, alguem já conseguiu?

Estou usando esse código bem simples do itext para gerar pdf:

<%@page import="java.io.IOException" %>
<%@page import="java.util.Date" %>
<%@page import="javax.servlet.ServletException" %>
<%@page import="javax.servlet.http.HttpServlet" %>
<%@page import="javax.servlet.http.HttpServletRequest" %>
<%@page import="javax.servlet.http.HttpServletResponse" %>
<%@page import="com.lowagie.text.Document" %>
<%@page import="com.lowagie.text.DocumentException" %>
<%@page import="com.lowagie.text.Paragraph" %>
<%@page import="com.lowagie.text.html.HtmlWriter" %>
<%@page import="com.lowagie.text.pdf.PdfWriter" %>
<%@page import="com.lowagie.text.rtf.RtfWriter" %>

<%
try{
    
Document document = new Document();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=teste.pdf");
PdfWriter.getInstance(document, response.getOutputStream());
document.open();
document.add(new Paragraph("Hello World"));
document.add(new Paragraph(new Date().toString()));
document.close();
        
}catch(DocumentException de) {
           out.println("document: " + de.getMessage());
}
%>

Mas na verdade preciso pegar um html gerado pelo jsp e converter para pdf. Alguém já conseguiu fazer isso usando o itext?. E se não, existe alguma outra forma? :?:

Existe esta ferramenta que é paga:

http://pd4ml.zefer.org/cgi-bin/eng.cgi/main.htm?ch=1

Porém, a aparência do PDF não é 100% fiel à do HTML.

Outra opção é usar FOP e gerar o PDF a partir de um XLS ao invés de um HTML.

http://xml.apache.org/fop/

[quote=ramos]Existe esta ferramenta que é paga:

http://pd4ml.zefer.org/cgi-bin/eng.cgi/main.htm?ch=1

Porém, a aparência do PDF não é 100% fiel à do HTML.

Outra opção é usar FOP e gerar o PDF a partir de um XLS ao invés de um HTML.

http://xml.apache.org/fop/
[/quote]

Pagar por isso esta fora de cogitação, até pq no php eu faço a mesma coisa de uma forma simples e free.

E quanto ao fop, vc já utiliza ele? de qual forma? tem algum tutorial?

Já utilizo sim, em uma aplicação web que gera alguns documentos baseados em consultas a um banco de dados.

Achei esse link e parece um bom tutorial porque ensina até conceitos de XSL:

http://javaboutique.internet.com/tutorials/FOP/