Never mind fixed above as well, posting it for someone who is faces same issues
1. css not getting rendered :- in my cases i had to add an extra / before css path, it started taking relative path.
2. header getting cut off :- i had to use pd4PageMark.setAreaHeight, this fixed issue for me.

my next step is to move whole thing from servlet to rest service, lets see how it goes.