Eu já vi essa pergunta de várias maneiras no SO e em vários outros sites, mas a maioria deles é muito específica ou desatualizada. Espero que alguém possa fornecer uma resposta definitiva aqui, sem pensar em especulações.
Existe uma maneira, com CSS ou javascript, de alterar as configurações padrão da impressora quando alguém imprime no navegador? E, é claro, com "impressões do navegador", quero dizer alguma forma de HTML, não PDF ou algum outro tipo de mímica compatível com plug-in.
Observe:
Se alguns navegadores oferecem isso e outros não (ou se você sabe apenas fazê-lo para alguns navegadores), agradeço as soluções específicas do navegador.
Da mesma forma, se você souber de um navegador convencional que tenha restrições específicas contra NUNCA, isso também será útil, mas alguma documentação bastante atualizada será apreciada. (simplesmente dizer "isso contraria a política de segurança da XYZ" não é muito convincente quando a XYZ fez alterações significativas nessa política nos últimos três anos).
Por fim, quando digo "alterar as configurações de impressão padrão", não digo para sempre, apenas para minha página, e estou me referindo especificamente a margens, cabeçalhos e rodapés de impressão.
Estou ciente de que o CSS oferece a opção de alterar a orientação da página e as margens da página. Uma das muitas lutas é com o Firefox. Se eu definir as margens da página para 1 polegada, ele adiciona isso à meia polegada já colocada.
Eu quero muito reduzir o uso de PDFs no site do meu cliente, mas a violação da apresentação (bem como a falta de confiabilidade) são sua principal preocupação.