Ir para conteúdo
Fórum Script Brasil
  • 0

Impressão De Vários Boletos


torresson

Pergunta

12 respostass a esta questão

Posts Recomendados

  • 0

Claro que vai ter que criar... o modo mais fácil nesse caso é criar uma fonte pros boletos (de onde vão vir os dados como valor, nosso numero...) e enviar tudo para um PDF só, assim depois fica mais fácil gerenciar a impressão...

Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade já tenho o script do boleto, o que me falta é apenas conseguir imprimir sequencialmente, ou seja, necessito imprimir em média 20 ou 30 boletos de uma vez. Hoje quando tenho que imprimir, estou tendo que pegar e gerar cada um e imprimir e isso dá um trabalho imenso.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu sei... você vai ter que colocar o script que gera o boleto dentro de um laço para gerar todos os boletos de uma vez, só que também vai ter que implementar um sistema que informe as informações a cada boleto, pois com certeza você não vai querer 20~30 boletos com os mesmos dados (ao menos o nosso número e o sacado serão diferentes...)

Link para o comentário
Compartilhar em outros sites

  • 0

Legal isso eu já fiz, mas na tela ele gera todos e não vai direto para a impressora.... necessito que esse laço vá direto a impressora e não fique gerando na tela. Hoje ele gera na tela diretamente todos os boletos uns sobre os outros e não imprime direto. Você teria como me ajudar nesse sentido?

Link para o comentário
Compartilhar em outros sites

  • 0

Ai tem duas considerações:

1 - Você vai ter que em primeiro lugar modificar o HTML do sistema de boleto para que a cada volta do laço dê uma quebra de página...

2 - A geração é feita em localhost ou em servidor externo? Pois o PHP por ser uma linguagem server-side tem deficiências em gerenciamento de hardware, e mesmo mandar coisas para impressão pode ser bem problemático com o PHP, existem as funções de impressão, mas elas só funcionam se a impressora estiver ligada no servidor, logo, só se a sua geração for em localhost...

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, você pode definir o boleto por IDs e criar uma session.

Faz a consulta no MySQL para gerar apenas o boleto com aquela ID.

(Logicamente, faz a verificação para ver se não era o último né)

No começo da página você pode colocar:

<?php
$id = $_SESSION['id'];
?>
No final da página você poderá colocar um:
<?php
$id++;
$_SESSION['id'] = $id;
?>
<script language="JavaScript">
window.print();
window.location.href = "geraboleto.php";
</script>

Isso considerando que sua página se chamará geraboleto.php .

Link para o comentário
Compartilhar em outros sites

  • 0

Já trabalhei nessas condições, mas não usando as funções de impressão... mas tentar é de graça, só não alimente muitas esperanças, porque como eu disse, essa parte de impressão é bem precária (por motivos óbvios) no PHP...

Link para o comentário
Compartilhar em outros sites

  • 0

Se eu utilizar a função window.print() o server vai gerar o boleto na tela e não na impressora, a não ser se eu tivesse o direcionamento do saída de tela para a impressora. já tentei colocar o window.print() e o sistema gerava vários boletos na tela sem parar e quando terminava ai eu conseguia imprimir somente o último.

To achando que realmente teria que utilizat a DLL de impressão, mas preciso verificar se consigo, pois o servidor funciona com PHP e Windows.

Link para o comentário
Compartilhar em outros sites

  • 0

Você tem certeza de que não abre o diálogo de impressão?

Segundo a documentação de JavaScript no site http://msdn2.microsoft.com/en-us/library/ms536672.aspx a função funciona da seguinte maneira:

Syntax

window.print()

Return Value

No return value.

Remarks

Calling the print method has the same effect as choosing Print from the Microsoft Internet Explorer File menu. The print method activates the Print dialog box, prompting the user to change print settings. When the user clicks the OK button, the following sequence of events occurs:

1. The onbeforeprint event fires.

2. The document prints.

3. The onafterprint event fires.

The onbeforeprint and onafterprint events are particularly useful when not all the information on the page is visible at all times. Use the onbeforeprint to modify the document to make all the information on the page visible for printing. To return the document to its original state, use the onafterprint event.

Standards Information

There is no public standard that applies to this method.

Applies To

window

Ou seja, ele abre o diálogo para impressão, e assim que clicado em Ok, ele enviará os boletos para a impressora.

Logicamente, você precisará ficar dando Ok toda hora naquele diálogo.

E realmente, as funções de impressão do PHP seriam mais eficazes no seu caso, mas para isso a porta de impressão precisará estar mapeada no servidor.

Link para o comentário
Compartilhar em outros sites

  • 0

Como disse anteriormente ela funciona sim, mas se colocar o OK toda hora fica muito trabalhoso. Como disse seria sim muito mais eficiente utilizar as funções de impressão do PHP.

Acho que essa então seria a única forma de fazer isso então.

Alguém de vocês teria então o PRINTER.DLL para o PHP 4.3.7 ? ou saberia onde posso encontrar? pois no site do PHP não achei.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Ruan Carlos

Olá caro amigo assim, você poderia gerar em uma página html todos so boletos, cada um em uma div. Existe uma regra css que quebra a página.

page-break-after: always; = Quebra a página depois do elemento.

Supondo seu código ficaria assim...

<html>

<STYLE TYPE="text/css">

.folha {

page-break-after: always;

}

</STYLE>

<head>

</head>

<body>

<div class="folha">

teste1

</div>

<div class="folha">

teste2

</div>

</body>

</html>

iria imprimir teste1 em uma página e teste2 em outra

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...