Я думаю, вам не повезло, если вы пытаетесь сделать это в HTML и CSS. Большая часть проблемы заключается в том, что все поля принтера зависят от типа принтера: большинство принтеров имеют минимальное поле, которое они могут установить (эквивалентно пространству, необходимому для захвата страницы, и левому / правому движению головы.
Допустимые поля также будут различаться в зависимости от размера бумаги (поле может быть меньше на меньшем листе, чем максимально допустимое для принтера). Например, если вы загружаете бумагу формата A5 в принтер формата A4, поля, которые вы можете установить, будут отличаться от тех, которые вы загружаете в формат A4.
Ни одна из этой информации недоступна для веб-страницы через CSS, javascript или что-либо еще.
Теперь, что касается решения, файлы PDF позволяют встраивать некоторые настройки принтера по умолчанию в файл - Acrobat pro позволит вам указать параметры масштабирования, количество копий по умолчанию и т. Д. Я не возражаю против ставок что в формате файла доступно больше потенциальных настроек, которые Acrobat не предоставляет.
Существует множество полнофункциональных инструментов для создания PDF-файлов, которые вы используете на серверной технологии. хорошие даже позволят вам предоставить URL-адрес и отобразить HTML + CSS для содержимого PDF, что в некоторой степени автоматизирует генерацию. Генерация PDF довольно интенсивно загружает процессор, и для пользователя она также не будет простой (и для большинства браузеров потребуются плагины PDF).
Я знаю, что это не идеально, но это проспект, на который я посмотрю. Удачи!