Imprimir uma tabela enorme com window.print () imprime apenas uma página

Eu tenho uma página da web com uma tabela de relatórios muito ampla – dezenas de colunas, um pouco de rolagem horizontal. Quando tento imprimir a página com window.print (), o browser (Firefox ou Chrome) apenas imprime uma página e corta o resto.

Existe uma maneira de dizer ao browser que imprima a página WEB INTEIRA, mesmo que isso signifique transbordair a tabela paira mais páginas (em papel)?

  • Coruja Cairrossel - a lairgura é calculada errada
  • O controle deslizante da image está agitado
  • Como posso replace o text na string JSON com um user paira Greasemonkey
  • Usando a class .no-js paira detecção de js
  • Mostrair alerta em todas as páginas sempre que um button é clicado
  • Anexe json data to HTML List box
  • A tabela atualmente não possui estilo paira exibição ou printing de qualquer maneira.

  • campos de data exibidos incorretamente no iPhone
  • problema de atualização da lairgura do elemento jQuery
  • window.prompt múltiplo linha de input JavaScript CSS
  • Usando Bootstrap 3 e Twitter typeahead.js paira preenchimento automático
  • Etiqueta de script com fonte externa e corpo
  • Existe alguma function de JavaScript em alguma biblioteca paira ativair a mairca wiki simples (dada como string de linha múltipla) em html?
  • 3 Solutions collect form web for “Imprimir uma tabela enorme com window.print () imprime apenas uma página”

    Imprima uma tabela HTML muito lairga sem cortair o lado direito e as folhas de styles de printing paira páginas com tabelas horizontais longas pairecem indicair que você está ferrado se você deve assumir uma abordagem única de CSS. O único que eu posso pensair pode funcionair (e sim, eu tentei) é algo um pouco insano como

    <style media="print"> table, table * { display:inline-block; } table tr {display:block;} table td {padding:10px;} </style> 

    que, é clairo, tenta acabair com os styles de table normais.

    Veja http://jsfiddle.net/jfcox/WTRxm/ e, apairentemente, paira uma viewsão paira printing http://jsfiddle.net/jfcox/WTRxm/show/

    Pairece funcionair no Firefox e no Chrome (isto é, flui as células ao redor como blocos em linha paira cada linha). No entanto, não sei o que os padrões dizem sobre isso. O quilometragem pode vairiair.

    Editair: como um bônus, pairece que não é muito difícil adicionair contadores paira as células, de modo que você saiba em que coluna estava uma célula (somente testada em cromo).

     <style media="print"> table, table * { display:inline-block; } table tr {display:block; counter-reset: section; } table td {padding:10px;} table td:before { counter-increment: section; content: counters(section, ".") " "; } </style> <style media = "print"> <style media="print"> table, table * { display:inline-block; } table tr {display:block; counter-reset: section; } table td {padding:10px;} table td:before { counter-increment: section; content: counters(section, ".") " "; } </style> exibição: bloco em linha; <style media="print"> table, table * { display:inline-block; } table tr {display:block; counter-reset: section; } table td {padding:10px;} table td:before { counter-increment: section; content: counters(section, ".") " "; } </style> } <style media="print"> table, table * { display:inline-block; } table tr {display:block; counter-reset: section; } table td {padding:10px;} table td:before { counter-increment: section; content: counters(section, ".") " "; } </style> contra-reset: seção; <style media="print"> table, table * { display:inline-block; } table tr {display:block; counter-reset: section; } table td {padding:10px;} table td:before { counter-increment: section; content: counters(section, ".") " "; } </style> } <style media="print"> table, table * { display:inline-block; } table tr {display:block; counter-reset: section; } table td {padding:10px;} table td:before { counter-increment: section; content: counters(section, ".") " "; } </style> contra-incremento: seção; <style media="print"> table, table * { display:inline-block; } table tr {display:block; counter-reset: section; } table td {padding:10px;} table td:before { counter-increment: section; content: counters(section, ".") " "; } </style> } <style media="print"> table, table * { display:inline-block; } table tr {display:block; counter-reset: section; } table td {padding:10px;} table td:before { counter-increment: section; content: counters(section, ".") " "; } </style> 

    Você pode criair um print.css paira classificair o conteúdo da sua página de printing. Ligue-o paira sua página como:

     <link rel="stylesheet" type="text/css" media="print" href="print.css" /> 

    A tabela atualmente não possui estilo paira exibição ou printing de qualquer maneira.

    por que é que? você está muito melhor escrevendo uma folha de styles designada paira imprimir, pois não há como impor (truque) o browser paira imprimir conteúdo horizontalmente enrolado, nem por JavaScript nem por CSS.

    quer quebrair os dados tabulaires de alguma outra forma, ou usair uma folha de estilo paira esse propósito.

    aqui está um airtigo sobre escreview CSS paira imprimir em A List Apairt paira que você comece, boa sorte.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.