Я использовал бесплатный и открытый исходный код iTextSharp ранее с некоторым успехом. Я не думаю, что он поддерживает случай, когда у вас есть отдельный файл .css, однако он применяет встроенный CSS, который вы используете (атрибут style).
Как правило, вам приходится создавать отдельную страницу XHTML для генерации PDF со встроенными стилями (а иногда и таблицами), чтобы заставить PDF выглядеть правильно.