Fórum css para impressao media print #551818
19/04/2016
0
Eu tenho uma pagina que mostra na tela um boletim de varias pessoas.
Utilizei o css media print com o estilo page-break-before: always ;. e para cada pessoa, o mesmo esta sendo impresso em uma única pagina corretamente.
O meu problema é que, a primeira pagina sempre é em branco. Como faço para remover esta pagina em branco?
Desde já agradeço.

Gisely Santos
Curtir tópico
+ 0Post mais votado
19/04/2016
Bruno Azevedo

Gostei + 1
Mais Posts
19/04/2016
Bruno Azevedo
Você pode criar uma div só para fazer a quebra de linhas exemplo: <div style="page-break-after: avoid;"></div>
Dessa forma, terá mais controle sobre a divisão das páginas.
Espero ter ajudado. ;)
Gostei + 0
19/04/2016
Gisely Santos
Tentei desta forma, porem as primeiras paginas são formatadas corretamente, porem o restantes das paginas vai se desconfigurando aos poucos onde o titulo da segunda aparece na primeira entre outras coisas...
mais alguma sugestão?
Gostei + 0
19/04/2016
Gisely Santos
segue abaixo o css:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | < style type = "text/css" rel = "stylesheet" > @media print { .botaotopo{ display:none; } .botao_print{ display:none; } } </ style > < style type = "text/css" > .nav, footer, video, audio, object, embed { display:none; } .texto_tebela_lateral { font-size: 12px; text-align: left; } body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } body,td,th { font-family: Arial, Helvetica, sans-serif; text-align: left; } .botaotopo { display:scroll; position:fixed; top:1%; right:1%; } .botao_print{ display:scroll; position:fixed; top:8%; right:1%; cursor: pointer; } table.boletim_indicador { font-size: 12px; font-weight: bold; text-align: center; alignment-adjust:auto; vertical-align: middle; border-collapse: collapse; margin: 5px auto; } table.boletim_indicador .subtitulo { text-align: left; } table.boletim_indicador .titulo { text-align: center; background-color: #EEEEEE; color: #666666; } table.boletim_indicador td { text-align: center; border: solid 1px gray; } .current { font-size: 20px; text-align: justify; font-size: 16px; } .current1 {font-size: 20px; text-align: justify; font-size: 18px; } .boletim { text-align: center; } .current10 { font-size: 20px; text-align: justify; font-size: 16px; } </ style > |
essa seria, a parte do documento a ser impresso. Como na pagina anterior ou sera enviado apenas o nome de uma pessoa ou o nome de varias pessoas.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | <? // na pagina anterior preciso filtrr um curso para exibir a lista dos alunos. posso mandar um aluno ou varios para exibir este boletim. if($curso){ $ array = array(); foreach ( $alunos as $matricula => $vetor_final ) { if ( array_key_exists( $vetor_final['matricula_aluno'], $resultado ) ) { // esse array é apenas para montar o vetor de resultados no seu boletim. ?> < table width = "800" height = "1180" align = "center" cellpadding = "2" > < tr > < th valign = "top" > < table width = "800" border = "0" align = "center" > < tr > < th height = "49" >< table width = "780" border = "0" > < tr > < th width = "212" height = "47" align = "left" >< img src = "../images/logo.png" alt = "" width = "175" height = "36" ></ th > < td width = "558" >< p align = "right" >Cidade e data.</ p ></ td > </ tr > </ table ></ th > </ tr > < tr > < th >< table width = "800" cellpadding = "2" > < tr > < th align = "center" scope = "row" >< h1 class = "boletim" >BOLETIM</ h1 ></ th > </ tr > </ table > < table width = "800" cellpadding = "2" > < tr > < th width = "148" align = "left" scope = "row" >< strong class = "current10 " >NOME:</ strong ></ th > < td width = "320" >JOAOZINHO</ td > < td width = "114" >< strong class = "current10 " >MATRÍCULA:</ strong ></ td > < td width = "190" >123467890123</ td > </ tr > </ table > < table width = "800" cellpadding = "2" > < tr > < th width = "150" scope = "row" >< strong class = "current10 " >SALA</ strong ></ th > < td width = "231" >902</ td > < td width = "126" >< strong >CURSO:</ strong ></ td > < td width = "257" >TADS</ td > </ tr > </ table > < table width = "800" cellpadding = "2" > < tr > < th width = "193" align = "left" scope = "row" >< strong class = "current10 " >DATA INICIO:</ strong ></ th > < td width = "151" >2016-01-01</ td > < td width = "197" >< span class = "current10 " >< strong >SEMESTRE</ strong >:</ span ></ td > < td width = "231" >3</ td > </ tr > </ table ></ th > </ tr > < tr > < td align = "left" >< p class = "current10 " > </ p > aqui eu tenho um texto explicativo sobre o resultado atual da pessoa </ td > </ tr > < tr > < th >< img src = "../imagem/recorte.png" alt = "" width = "800" height = "5" ></ th > </ tr > < tr > < td height = "250" > <? if ( $codicao1 == true ){ ?> < table width = "100%" class = "boletim_indicador" > < tr > < td class = "titulo" >titulo 01</ td > < td >campo 01</ td > < td >campo 02</ td > < td >campo 03</ td > < td >campo 04</ td > < td >campo 05</ td > < td >campo 06</ td > < td >campo 07</ td > </ tr > < tr > < td class = "subtitulo" >titulo 02</ td > < td >campo 01</ td > < td >campo 02</ td > < td >campo 03</ td > < td >campo 04</ td > < td >campo 05</ td > < td >campo 06</ td > < td >campo 07</ td > </ tr > < tr > < td class = "subtitulo" >titulo 03</ td > < td >campo 01</ td > < td >campo 02</ td > < td >campo 03</ td > < td >campo 04</ td > < td >campo 05</ td > < td >campo 06</ td > < td >campo 07</ td > </ tr > < tr > < td class = "subtitulo" >titulo 04</ td > < td >campo 01</ td > < td >campo 02</ td > < td >campo 03</ td > < td >campo 04</ td > < td >campo 05</ td > < td >campo 06</ td > < td >campo 07</ td > </ tr > </ table > <? } if ( $codicao2 == true ){ ?> < table width = "100%" class = "boletim_indicador" > < tr > < td class = "titulo" >titulo 01</ td > < td >campo 01</ td > < td >campo 02</ td > < td >campo 03</ td > < td >campo 04</ td > < td >campo 05</ td > < td >campo 06</ td > < td >campo 07</ td > </ tr > < tr > < td class = "subtitulo" >titulo 02</ td > < td >campo 01</ td > < td >campo 02</ td > < td >campo 03</ td > < td >campo 04</ td > < td >campo 05</ td > < td >campo 06</ td > < td >campo 07</ td > </ tr > < tr > < td class = "subtitulo" >titulo 03</ td > < td >campo 01</ td > < td >campo 02</ td > < td >campo 03</ td > < td >campo 04</ td > < td >campo 05</ td > < td >campo 06</ td > < td >campo 07</ td > </ tr > < tr > < td class = "subtitulo" >titulo 04</ td > < td >campo 01</ td > < td >campo 02</ td > < td >campo 03</ td > < td >campo 04</ td > < td >campo 05</ td > < td >campo 06</ td > < td >campo 07</ td > </ tr > </ table > <? } ?> </ td > </ tr > </ table ></ th > </ tr > </ table > <? } } } ?> <!-- exibe botao flutuante para retornar a pagina anterior --> < a class = "botaotopo" href = "pagina1.php" title = "Voltar" > < img width = "40px" height = "40px" src = "../image/voltar_.png" border = "0" /> </ a > <!-- exibe botao flutuante para imprimiar a pagina --> < a class = "botao_print" onClick = "window.print();" > < img width = "40px" height = "40px" src = "../image/print.gif" border = "0" /> </ a > |
nao sei exatamente ao devo colocar a tal div para dar a quebra na pagina. se dentro do laço de repetição ou fora...
tentei por dentro do foreach, a primeira pagina configurou corretamente, a segunda veio em branco e as demais formatadas corretamente.
tentei de varias formas... nao obtive resultado.
Como disse, na ultima sugestão, se fossem preparadas 18 paginas para a impressao, até a 10 configurou corretamente, depois começou a subir o titulo com o logo para a pagina anterior e ja bagunçou tudo...
Agradeço a atenção mais uma vez :)
Gostei + 0
24/10/2016
Gisely Santos
vlw
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)