Есть много старых текстов, таких как в этой книге 2002 года, в которой говорится, что мы должны использовать CSS для Web и XSL- FO для печати ". Я думаю, что в наши дни (2012) мы можем, наконец, использовать CSS с механизмами рендеринга, которые понимают постраничный носитель CSS2 и что-то вроде CSS3... Но где "новые тексты", консенсус программистов и инвестиции в софты?
XSL-FO или "Объекты форматирования XSL" (стандарт W3C) были наиболее часто используемой технологией для создания PDF-документов, из содержимого XML или XHTML. Версия 1.1 XSL-FO был опубликован в 2006 году, 1.0 в 2001 году.
CSS2.1 - с 2011 года, но CSS2.0 - это стандарт 1998 года, пересмотренный в 2008 году... Я думаю, что стандартные возрасты не являются проблемой. CSS с HTML, XHTML или XML имеет "силу печати" : см. инструменты PrinceXML, модуль печати WebKit (или wkhtmltopdf), ABCpdf и другие.
Выбор между CSS и XSL-FO: с помощью CSS2 вы можете точно подобрать текст на бумажной странице и т.д. Это не вопрос разбивки на страницы, несколько раскладок столбцов, размещение сносок, заголовков или полей страницы... Оба, CSS (paged media) и XSL-FO, являются хорошими стандартами для этого.
PS: для этого контекста есть некоторые связанные вопросы/ответы, о преобразовании webkit, с помощью PHP и Generation PDF из HTML. Никто не имеет хорошего ответа на этот представленный вопрос.