Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniela B.

quebra de página na hora de imprimir em relatório

Recommended Posts

Oi pessoal! estou com uma dúvida!

É o seguinte: Eu tenho vários tickets para imprimir, a cada 4 tickets gostaria de imprimir na folha de impressão, mas isso não acontece, acaba cortando o ticket no meio. estou usando o comando do css <br style="page-break-before:always;">.

Alguém poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer desse modo, usando uma classe ao invés de definir no <br>

<style>
.break { page-break-before: always; }
</style>
<body>
conteúdo da página 1...
<h1 class="break">cabecalho 2 da página 4</h1>
conteúdo da página 2...
<h1 class="break">cabecalho 3 da página 4</h1>
conteúdo da página 3...
<p class="break"></p>
conteúdo da página 4...
</body>

 

Espero ter ajudado,

Boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi caio! tentei com uma classe também mas não vai, vou postar o código para vcs entenderem melhor.

 

 

<ul class="impresso">
<?
$c = 0;
for($i= 0; $i < $conta; $i++){
$c++;
$sqlVoucher = mysql_query("SELECT * FROM vouchers WHERE voucher = '$marcado[$i]' && cid = '$var_usuario_id'");
$ttlVoucher = mysql_num_rows($sqlVoucher);
$voucher = mysql_fetch_assoc($sqlVoucher);
if($c == 3){
"<div class=\"quebra\"></div>";
$c = 0;
}
?>
<li>
<div class="print-voucher">
<span class="logo"><img src="../../img/logo.png" width="160"/></span>
<span class="voucher">número voucher</span>
<p class="voucher-num"><?= $marcado[$i] ?></p>
<span class="voucher">cliente</span>
<p class="voucher-usu"><?= $var_usuario_nome ?></p>
<span class="voucher">Validade</span>
<p class="voucher-usu"><?= data($voucher['validade']) ?></p>
</div>
<div class="print-voucher">
<span class="logo"><img src="../../img/logo.png" width="160"/></span>
<span class="voucher">número voucher</span>
<p class="voucher-num"><?= $marcado[$i] ?></p>
<span class="voucher">cliente</span>
<p class="voucher-usu"><?= $var_usuario_nome ?></p>
<span class="voucher">Validade</span>
<p class="voucher-usu"><?= data($voucher['validade']) ?></p>
</div>
</li>
<? } ?>
</ul>
<a onclick="window.print();" class="btImpressao">Imprimir</a>


Observe que eu coloco os tickets dentro de um for e a cada 4 ele usa class quebra. Mas não dá certo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

1. Daniela, tente colocar um echo "passou"; dentro do if($c == 3) para ter certeza que ela passa por ali.

 

2. O que pode estar acontecendo também, é que, dentro desse if, você colocou um código HTML e não colocou o echo ("<div class=\"quebra\"></div>";)

 

3. Se ele estiver passando por ali, e mesmo colocando o echo antes, não funcionou, tente os modos abaixo:

 

Caso tenha a classe .break:

<?php
if($c == 3){
 echo "<div class='break'> </div>";
 $c = 0;
}
?>

 

 

Caso não tenha a classe .break:

<?php
if($c == 3){
 echo "<div style='page-break-before:always;'> </div>";
 $c = 0;
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom pessoal, resolvi em partes o meu problema, esqueci de dar um echo ali na classe quebra! testei no IE e deu certo! mas no google chrome não visualiza certo na hora de imprimir. Então o problema é no navegador? não testei a impressão!



ah caio desculpe, vi agora a sua resposta, era isso mesmo, faltava o echo. Obrigada pela força

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.