Мы делаем это, используя jodconverter , который действует как сервис, использующий openoffice. Вы можете сами проверить, экспортирует ли openoffice достаточно «консервативности». Он всегда будет слегка изменен, так как ширина веб-страницы сильно отличается от ширины листа бумаги, но я бы сказал, что это довольно хорошо.