Impressão de Cheque em formulário continuo.

Olá a todos, eu tenho que iniciar um modulo de impressão de cheque em formulário continuo "Detalhe, cada banco tem suas posições ", mais deparei um problema!

“Impressão em impressora Matricial”. ?

Preciso de uma dica! de alguém que já passou por essa fase.

Como driblar esse problema?

Régis

Dá uma olhada nos estilos de impressão do css para ver se ajuda. Tem como vc inserir uma quebra de linha. Mas neste caso acho que vai ter que fazer o relatório na unha e chamar ele passando os parametros que precisa por controle.

Cleyton

Obrigado pela dica, dei uma pesquisada boa, mais sem sucesso. O grande problema é que tem que ser na impressora matricial

“IMPRESSÃO MATRICIAL RÁPIDA”

Até agora a unica solução que encontrei, é do tempo do EPA!

Gerar um arquivo .TXT contendo todos os cheques a ser impresso. ex! 100 cheques.

Baixar o arquivo para a maquina local! e executar um .bat para mandar direto para LPT1 o arquivo criado!

Se o servidor estivesse dentro da empresa! Até daria para executar via php um comando shell do sistema operacional enviando o arquivo txt gerado direto para impressora, mais o servidor está nas nuvens;

(system(“copy " . $local_file . " lpt1:”):wink:

Alguém já desenvolve de outra forma? Alguma luz no final do túnel ? Que não seja o trem vindo em minha direção? kkkk

para ser na matricial via lpt1, o php deve estar instalado na maquina onde se encontra a impressora ou na rede, se for na rede a impressora deve estar compartilhada.

para acessar via rede:

$ handle = fopen ( “\nome_computador\impressora_compartilhada” , “w” );

ou diretamente caso o php esteja na estação:

$ handle = fopen ( “LPT1:” , “w” );

se o php não estiver na rede, é possível com javascript, para tal terá que abrir a segurança do browser, o que é altamente desaconselhável.

Haroldo e Cleyton, obrigado pelo esclarecimento…

Assim que eu desenvolver a solução eu posto aqui…

Obrigado por enquanto;

Teste isto: http://japs.etc.br/2005/11/imprimir-dados-na-porta-lpt1-do-cliente/
Você conseguirá imprimir direto na porta lpt1 pelo lado cliente

Sim, esse código em javascript funciona abrindo a segurança do browser.

Regis,

Já resolveu o problema de imprimir em impressora matricial?

Brother, tem como vc me passar a forma de fazer essa impressão de cheques ?
Eu uso servidor local e estou tendo problemas na forma que criei a impressão com reportPdf.
tentei tb com html mas a letra sai um ‘O’…

Resolvi sim, eu criei uma classe, onde gera um arquivo.txt com o formato/espaçamento do cheque, customizável, pois cada banco tem um espaçamento diferente -> ai eu uso o comando para enviar o arquivo txt direto para impressora/porta LPT1. no caso das impressora usb usei o comando ‘net use’ para mapear a porta lpt1

Régis, preciso de sua ajuda.
Tenho que fazer a impressão de cheques funcionar aqui na empresa…
O máximo que fiz até agora foi uma impressão com report, mas está um lixo.

add

skype: regis_matos

O brother, desculpa estar incomodando, mas é que tô na tampa da beirada precisando dessa solução.
Help.

Prezados, o código que criei esta gravando o arquivo certinho, no entanto não estou conseguindo imprimir.
a impressora está compatilhada e como padrão;;

esse parametro está certo ? $handle = fopen ( “\Vostro11-pc\EPSON LX-300+ /II” , “w” );

[code]sc_lookup(cheque,“SELECT
folha.liquido,
tblFuncionario.nome
FROM
dbo.tblFuncionario INNER JOIN dbo.folha ON tblFuncionario.idFunc = folha.funcionario WHERE id_folha BETWEEN {ap} AND {ap2}”);//busca cheques para impressão

$conta = count({cheque});
for($x=0;$x<$conta;$x++)
{

		if({cheque}===false)
		{
				echo "Erro de acesso. Mensagem=" .{cheque};
		}elseif(empty({cheque}))
		{
				echo "Comando Select não retornou dados";
		}else
		{	

$valor = {cheque[$x][0]};
$func = {cheque[$x][1]};
echo $extenso = sc_vl_extenso($valor, 30, ‘V’);
sc_format_num($valor, ‘.’, ‘,’, 2, ‘S’, ‘1’, ‘R$’);

//$string = $extenso;
			
 //echo str_escreve($string, 30);			

$newtext = wordwrap(strip_tags($extenso), 30 , “\r\n”,true);
//PREPARA O CONTEÚDO A SER GRAVADO

$conteudo = " $valor \r\n

$newtext

$func

       {local}

\r\n
\r\n
\r\n
\r\n
\r\n
";
}
$handle = fopen ( “\Vostro11-pc\EPSON LX-300+ /II” , “w” );
//ARQUIVO TXT
$arquivo = “cheque.txt”;

//TENTA ABRIR O ARQUIVO TXT
if (!$abrir = fopen($arquivo, “a+”)) {
echo “Erro abrindo arquivo ($arquivo)”;
exit;
}

//ESCREVE NO ARQUIVO TXT
if (!fwrite($abrir, $conteudo)) {
print “Erro escrevendo no arquivo ($arquivo)”;
exit;
}

echo “Arquivo gravado com Sucesso !!”;

//FECHA O ARQUIVO
fclose($abrir);

}[/code]

fopen(Vostro11-pcEPSON LX-300+ /II) [function.fopen]: failed to open stream: No such file or directory

Jean, deu certo o código que te enviei ?

vc está executando em Windows ou Linux ?

Se for em windows da uma olhada no comando type e net use

Ex.
NET USE LPT1 \servidor\impressora /yes

type arquivo > LPT1

Na verdade estou usando meu código 'POG…

falta apenas imprimir… fiz um teste e mandando pelo servidor abrindo o arquivo esta imprimindo…
falta fazer imprimir sozinho ao gerar o arquivo…

tem como vc olhar no meu código e informar onde coloco esse parâmetro de impressão?

coloquei essa linha ao final do meu codigo:
$arquivo = fopen ( “net use LPT1 \Vostro11-pc\EPSON LX-300+ /II” , “w” );

Que erro é esse ?

fopen(VOSTRO11-PCEPSON LX-300+ /II) [function.fopen]: failed to open stream: No such file or directory

O fopen não reconheceu o compartilhamento, ele identifica como diretório.