Мне нужно создать PDF-файл, который будет выглядеть точно так же, как этот XML-стиль в веб-браузере
Подумайте еще раз об этом требовании. Постраничные носители, такие как PDF, и нестраничные носители, такие как HTML, могут только выглядеть «достаточно близко», но никогда «точно не похожи» друг на друга. Это еще более очевидно, если учесть, что ваш HTML отображается на устройствах с разными размерами экрана.
Если вы несколько ослабите вышеуказанное требование, вы, вероятно, согласитесь, что XSL-FO - лучший выбор. Вам определенно не нужно писать «пользовательские FO для каждого файла»: напишите XSLT только один раз и используйте его «на лету» для преобразования XML в XSL-FO, а затем используйте механизм рендеринга для обработки XSL-FO в PDF. Простой.