Impressão do HTML5 no Internet Explorer

Você já deve conhecer o hack de Internet Explorer que permite renderizar adequadamente os estilos do HTML5 na tela...

// Discussões e comentários, visite: http://remysharp.com/2009/01/07/html5-enabling-script/

(function(){if(!/*@cc_on!@*/0)return;var e = "abbr,article,aside,audio,bb,canvas,datagrid,datalist,details,dialog,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video".split(',');for(var i=0;i<e.length;i++){document.createElement(e[i])}})();

... mas garantir a formatação correta da página durante a impressão é outra história. Mesmo usando o "arranjo" em javascript mostrado acima, os elementos não seriam estilizados corretamente quando enviados para impressão.

Recentemente no David Walsh Blog foi publicada uma solução que funciona eficazmente: o Modernizr's "print-shiv" extra, que envolve os elementos HTML5 com outras tags mais amigáveis para a impressão durante o evento onbeforeprint. Em seguida, limpa tudo novamente quando o evento onafterprint é disparado.

Não há nenhuma configuração especial a ser feita, bastando apenas incluir o javascript na página.

Baixe o arquivo no GitHub (de graça).