Personally I have used the Apache FOP toolkit with considerable success. The toolkit includes some stylesheets for converting XHTML to PDF - it helps a bunch if your HTML is well formed. Bill
It's not a Java approach, but if you just want to create the PDF file, you can print the HTML page to a Postscript file, and use Ghostscript to convert the Postscript file to a PDF file.
Would anybody like some fudge? I made it an hour ago. And it goes well with a tiny ad ...
a bit of art, as a gift, the permaculture playing cards