この場合、基本的に CSS/XHTML 対応の iText ラッパーであるフライングソーサーを試すことをお勧めします。
以下に簡単な例を書きました。HtmlUnit とフライングソーサーに必要な依存関係を忘れないでください。
//Set up a new WebClient using your favourite settings
WebClient webClient = new WebClient();
//Fetch page
HtmlPage page = webClient.getPage("url-to-target.resource");
//Set PDF target output file
String outputFile = "firstdoc.pdf";
OutputStream os = new FileOutputStream(outputFile);
//Set up flying-saucer IText based renderer
ITextRenderer renderer = new ITextRenderer();
//Create PDF
renderer.setDocumentFromString(page.asXml();
renderer.layout();
renderer.createPDF(os);
os.close();