Imprimir frente e verso
Moderador: Moderadores
- Tomaz Edson Linhares
- Usuário Nível 1

- Mensagens: 32
- Registrado em: 19 Abr 2016 17:03
- Localização: São Gonçalo/RJ
Imprimir frente e verso
Olá amigos, estou precisando imprimir frente e verso. Qual o comando de impressão devo usar quando um relatório exceder o número de linhas de uma página para imprimir no verso da mesma folha, ao invés de continuar numa folha nova?
Para imprimir tipo Foto ou paisagem uso assim
SELECT PRINTER mPrinter ORIENTATION PRINTER_ORIENT_LANDSCAPE
ou
SELECT PRINTER mPrinter ORIENTATION PRINTER_ORIENT_PORTRAIT
mas não sei como fazer para frente e verso.
Para imprimir tipo Foto ou paisagem uso assim
SELECT PRINTER mPrinter ORIENTATION PRINTER_ORIENT_LANDSCAPE
ou
SELECT PRINTER mPrinter ORIENTATION PRINTER_ORIENT_PORTRAIT
mas não sei como fazer para frente e verso.
-
kakamachado
- Usuário Nível 1

- Mensagens: 30
- Registrado em: 07 Mar 2016 18:54
- Localização: Rio de Janeiro
Imprimir frente e verso
set duplex horizontal (caso use landscape) ou
set duplex vertical (caso use portrait)
para desligar o duplex: set duplex off
set duplex vertical (caso use portrait)
para desligar o duplex: set duplex off
Imprimir frente e verso
Não entendi e fiquei curioso...
É uma impressora especial, que possui 2 conjuntos de cabeça de impressão pra fazer isso ??
É uma impressora especial, que possui 2 conjuntos de cabeça de impressão pra fazer isso ??
lugab
-
kakamachado
- Usuário Nível 1

- Mensagens: 30
- Registrado em: 07 Mar 2016 18:54
- Localização: Rio de Janeiro
Imprimir frente e verso
Boa tarde Lugaqb.
Nada disso. Em primeiro lugar a sua impressora tem que ser uma impressora laser com capacidade para imprimir frente/verso. Nesta opção, ela imprime a frente do papel, ejeta-o, recolhe ele novamente invertendo o lado, imprime o verso e finalmente ejeta o papel para a bandeja. Para isto, o programa precisa setar a impressora na modalidade frente/verso, caso contrario ela imprimirá somente na frente do papel.
Para usar esta facilidade, seu programa deverá, apos o comando INIT PRINTSYS, colocar os comandos SELECT PRINTER mPrinter ORIENTATION PRINTER_ORIENT_LANDSCAPE ou SELECT PRINTER mPrinter ORIENTATION PRINTER_ORIENT_PORTRAIT. para os casos em que seu relatírio seja no formato landscape ou portrait,
Para desligar a opção de duplex basta colocar SET DUPLEX OFF antes do RELEASE PRINTSYS.
Veja o exemplo abaixo
Abs
Nada disso. Em primeiro lugar a sua impressora tem que ser uma impressora laser com capacidade para imprimir frente/verso. Nesta opção, ela imprime a frente do papel, ejeta-o, recolhe ele novamente invertendo o lado, imprime o verso e finalmente ejeta o papel para a bandeja. Para isto, o programa precisa setar a impressora na modalidade frente/verso, caso contrario ela imprimirá somente na frente do papel.
Para usar esta facilidade, seu programa deverá, apos o comando INIT PRINTSYS, colocar os comandos SELECT PRINTER mPrinter ORIENTATION PRINTER_ORIENT_LANDSCAPE ou SELECT PRINTER mPrinter ORIENTATION PRINTER_ORIENT_PORTRAIT. para os casos em que seu relatírio seja no formato landscape ou portrait,
Para desligar a opção de duplex basta colocar SET DUPLEX OFF antes do RELEASE PRINTSYS.
Veja o exemplo abaixo
Abs
Código: Selecionar todos
INIT PRINTSYS
SET THUMBNAILS ON
IF form_P410.combo_printer.ItemCount=0 .OR. ;
form_P410.combo_printer.Value<=0 .OR. ;
form_P410.combo_printer.Value>form_P410.combo_printer.ItemCount
MSGSTOP("Não existem impressoras instaladas","Erro")
release printsys
RETURN nil
ENDIF
IF lpreview
SELECT PRINTER form_P410.combo_printer.Item(form_P410.combo_printer.Value) PREVIEW
ELSE
SELECT PRINTER form_P410.combo_printer.Item(form_P410.combo_printer.Value)
ENDIF
RDEFFONT() // define as fontes disponiveis
select font "F10T" // Times 10
select pen "p0"
START DOC NAME "Emissão de contra cheques de Funcionarios"
IF WSI_TP_CCHE = "1" .OR. WSI_TP_CCHE = "3" .OR. WSI_TP_CCHE = "6"
set duplex vertical
ENDIF
Set Page orientation DMORIENT_LANDSCAPE papersize DMPAPER_A4
DO P410_EMITE_CONTRA_CHEQUE
END DOC
set page orientation DMORIENT_PORTRAIT papersize DMPAPER_A4 font "F12T"
set duplex off
RELEASE PRINTSYS
- Tomaz Edson Linhares
- Usuário Nível 1

- Mensagens: 32
- Registrado em: 19 Abr 2016 17:03
- Localização: São Gonçalo/RJ
Imprimir frente e verso
Mas amigo, Kakamachado, minha impressora não tem esse recurso. A frente e verso tem que ser manual. Eu só preciso que ela dê uma pausa quando imprimir a frente e solicite que a folha seja virada.
-
kakamachado
- Usuário Nível 1

- Mensagens: 30
- Registrado em: 07 Mar 2016 18:54
- Localização: Rio de Janeiro
Imprimir frente e verso
Neste caso, se você verificar que vai ser necessário imprimir no verso pois estourou o número de linhas, dê o END PAGE e dê uma mensagem (MSGSTOP) solicitando recolocar o papel e após recolocado dê o ENTER para continuar. Acho que funciona.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Imprimir frente e verso
Como é sua rotina? Tem cabeçalho na impressão?
Supondo que tenha a rotina de cabeçalho, só incluir uma mensagem.
Acaba até ficando estranha a dúvida.... rs
Supondo que tenha a rotina de cabeçalho, só incluir uma mensagem.
Acaba até ficando estranha a dúvida.... rs
Código: Selecionar todos
DO WHILE ! Eof()
IF nLin > 66
MsgExclamation( "Posicione o papel e tecle OK pra imprimir próxima página" )
Cabecalho()
ENDIF
..
SKIP
ENDDO
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
