> pd4ml.render(new StringReader(html), os);

If your CSS stylesheet is referenced from the HTML as a standalone file, probably render() method with base URL should help.

In any case pd4ml.enableDebugInfo() should help to detect external resource loading problems.

> pd4ml.addStyle(styles)

The method is available only in PD4ML Pro (and derived volume licenses). Do you use Std or Pro?