Один из возможных способов - использовать CSS для печати (<link rel="stylesheet" href="..." media="print" />
), но предварительно обработать его сценарием на стороне сервера. По сути, это просто простое правило перезаписи, которое переписывает файл print.css или любой другой файл, который вы используете, чтобы проксировать его в сценарии, который записывает запрос в какую-либо базу данных, а затем, наконец, выводит фактический CSS.
Конечно, это не идеальный метод; если кто-то использует предварительный просмотр, он также будет обработан сценарием.