Olá pessoal,
Ao imprimir em um arquivo texto, que cabe na metade de um formulário continuo, preciso que a folha ejete até a metade do formulário, gostaria de saber se alguém já teve que imprimir um orçamento dessa forma.
O formulário, é aquele que se destaca no meio, é o formulário razão, quando imprimo, está ejetando para a próxima folha, talvez a solução seja algum comando no arquivo para impedir que a folha ejete até a próxima folha.
Estou imprimindo em um arquivo texto em uma impressora matricial LX-300, pela USB,
Obrigado.
Não deixar formulário contínuo ejetar para próxima folha
Moderador: Moderadores
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Não deixar formulário contínuo ejetar para próxima folha
Você já tentou incluir um comando para configurar o tamanho da página de impressão?
Por exemplo, no início do relatório, incluir este comando:
No comando acima a página vai ter 33 linhas, que é metade de um formulário de 66 linhas.
Abraços,
Por exemplo, no início do relatório, incluir este comando:
Código: Selecionar todos
@ prow(),pcol() SAY CHR(27)+'C'+CHR(33) Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Não deixar formulário contínuo ejetar para próxima folha
Olá Toledo, obrigado por sua atenção, quando imprimo o arquivo texto por exemplo pelo bloco de notas, está saltando para próxima página.
No arquivo texto que estou gerando, tentei esse comando no começo do relatório, estou imprimindo pela matricial lx-300 pela USB.
@ prow(),pcol() SAY CHR(27)+'C'+CHR(33)
E também no final do relatório
@ prow(),pcol() SAY chr(27)+'C'+chr(1)
eject
@ prow(),pcol() SAY chr(27)+'C'+'B'
No arquivo texto que estou gerando, tentei esse comando no começo do relatório, estou imprimindo pela matricial lx-300 pela USB.
@ prow(),pcol() SAY CHR(27)+'C'+CHR(33)
E também no final do relatório
@ prow(),pcol() SAY chr(27)+'C'+chr(1)
eject
@ prow(),pcol() SAY chr(27)+'C'+'B'
Código: Selecionar todos
SET DEVICE TO PRINT
set print to c:\vendas\teste.txt
set print on
setprc(0,0)
@ prow()+1, pcol() SAY "TESTE TESTE TESTE TESTE"
@ prow()+1, pcol() SAY "TESTE TESTE TESTE TESTE"
@ prow()+1, pcol() SAY "TESTE TESTE TESTE TESTE"
@ prow()+1,pcol() SAY chr(27)+'C'+chr(1)
eject
@ prow()+1,pcol() SAY chr(27)+'C'+'B'- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Não deixar formulário contínuo ejetar para próxima folha
Mas porque você usa o Bloco de Notas para imprimir o relatório?
Acho que por usar o Bloco de Notas, a impressora não reconhece estes comandos de configuração da impressora, por isto que o eject salta a página como se ele tivesse 66 linhas.
Se você está compilando com o Harbour, seria interessante ver:
Clique nestas tag para ver os tópicos que discute sobre estas funções: GetPrinters PrintFileRaw GetDefaultPrinter
GetPrinters = cria uma array (matriz) com as impressoras instaladas no Windows
PrintFileRaw = imprime um arquivo TXT em qualquer impressora (que aceita impressão em modo Raw) instalada no Windows (não importa se a porta da impressora é LPT, USB, COM ou rede)
GetDefaultPrinter = retorna o nome da impressora Padrão no Windows
Abraços,
Acho que por usar o Bloco de Notas, a impressora não reconhece estes comandos de configuração da impressora, por isto que o eject salta a página como se ele tivesse 66 linhas.
Se você está compilando com o Harbour, seria interessante ver:
Clique nestas tag para ver os tópicos que discute sobre estas funções: GetPrinters PrintFileRaw GetDefaultPrinter
GetPrinters = cria uma array (matriz) com as impressoras instaladas no Windows
PrintFileRaw = imprime um arquivo TXT em qualquer impressora (que aceita impressão em modo Raw) instalada no Windows (não importa se a porta da impressora é LPT, USB, COM ou rede)
GetDefaultPrinter = retorna o nome da impressora Padrão no Windows
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Não deixar formulário contínuo ejetar para próxima folha
Como você está chamando o Bloco de notas?
Gere o Araquivo .TXT e chame assim:
Abs.
Gere o Araquivo .TXT e chame assim:
Código: Selecionar todos
cFile := "CARTA.TXT"
WinExec( "Notepad.exe /a/p" + cFile )
// Para Imprimir direto na USB usando o Bloco de Notas como impressora
WinExec( "Notepad.exe /p" + cFile )
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Não deixar formulário contínuo ejetar para próxima folha
Olá porter,
Como você está imprimindo um formulário aparentemente simples, e em impressora ESC/POS (Raw), veja também se esse exemplo ajuda:
Para compilar use: HBMK2 Exemplo.Prg hbwin.hbc xhb.hbc
Como você está imprimindo um formulário aparentemente simples, e em impressora ESC/POS (Raw), veja também se esse exemplo ajuda:
Para compilar use: HBMK2 Exemplo.Prg hbwin.hbc xhb.hbc
Código: Selecionar todos
Function Main()
Local nLines:=33, cPrinter, cFile, nLinha := 0, nColuna := 0
/*
Se houver pasta em nome do arquivo, ela deve existir ou dá erro
*/
cFile := "C:\vendas\Teste.Txt"
Set Device To Printer // Seta saída para impressora
Set Printer To ( cFile ) // arquivo a gerar (entre parenteses)
@ ++nLinha, nColuna Say "TESTE TESTE TESTE TESTE"
@ ++nLinha, nColuna Say "TESTE TESTE TESTE TESTE"
@ ++nLinha, nColuna Say "TESTE TESTE TESTE TESTE"
/*
Posiciona o cabeçote na última linha do formulário se nescessário
*/
If nLinha < nLines
@ nLines, nColuna Say ""
EndIf
Set Printer To // fecha o arquivo gerado (nescessário)
Set Device To Screen // Seta saída para vídeo
/*
Você pode usar alguma função para escolher a impressora, mas
aqui será enviado para a impressora configurada como padrão.
Coloque a EPSON LX-300 como padrão, ou coloque o nome da impressora
exatamente como aparece na lista de impressoras do Windows
*/
cPrinter := GetDefaultPrinter() // pega a impressora padrão
/*
Imprime o arquivo em impressora compatível com o modo RAW
*/
Win_PrintFileRaw( cPrinter, cFile, "Teste de impressao" )
Return NilAbraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
