Olá, a todos!
Depois de procurar em vão por um post falando sobre a minha atual dúvida, resolvi abir o bico:
Utilizando a Miniprint, quando gero relatórios em modo paisagem, na minha impressora de testes, uma Sansung Multifuncional SCX-3200, os relatórios ficam perfeitos. No entanto, quando são impressos no Cliente, algumas colunas ao final do relatório são suprimidas, ou seja, não são impressas. Isso acontece em quase todos os meus clientes.
Eu teria como resolver isto via programação ou seria puramente uma configuração na impressora do cliente?
Talvez no driver da printer, no Windows?
Desde já, um muito obrigado a todos!
Miniprint modo Paisagem
Moderador: Moderadores
- JAIR RANGEL
- Usuário Nível 3

- Mensagens: 178
- Registrado em: 19 Jul 2005 16:01
- Localização: RIO DE JANEIRO
- Contato:
- JAIR RANGEL
- Usuário Nível 3

- Mensagens: 178
- Registrado em: 19 Jul 2005 16:01
- Localização: RIO DE JANEIRO
- Contato:
MINIPRINT MODO PAISAGEM
Um detalhe curioso é que na impressora do cliente, quando ele imprime em modo paisagem por um outro programa no windows, como o Word, por exemplo, a impressão fica perfeita em modo paisagem. O que sugere que o problema seja na Miniprint, que não consegue configurar a impressora para modo paisagem.
Alguém teria alguma ideia?
Alguém teria alguma ideia?
MINIGUI + HARBOUR + BRMAKE + CDX
CLIPPER 5.2E + VISUALLIB 2 + BLINKER
CLIPPER 5.2E + VISUALLIB 2 + BLINKER
Miniprint modo Paisagem
Procura o demo2.prg na para \basic\miniprint
Neste fonte tem esse trecho que talvez possa te ajudar.
Com detalhe para a função: GetPrintableAreaWidth
Neste fonte tem esse trecho que talvez possa te ajudar.
Com detalhe para a função: GetPrintableAreaWidth
Código: Selecionar todos
cPrinter := GetPrinter()
if Empty( cPrinter )
return
endif
SELECT PRINTER cPrinter PREVIEW
nLastCol :=GetPrintableAreaWidth() - iif(IsWinNT(), 2, 10)
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
LUCAS MACHADO
- Usuário Nível 1

- Mensagens: 25
- Registrado em: 31 Mai 2013 11:43
- Localização: RIO DE JANEIRO/RJ
Miniprint modo Paisagem
Jair, eu uso a winprint sem problema nenhum, já testei em várias impressoras. Veja o código anexo.
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
- JAIR RANGEL
- Usuário Nível 3

- Mensagens: 178
- Registrado em: 19 Jul 2005 16:01
- Localização: RIO DE JANEIRO
- Contato:
Miniprint modo Paisagem
Obrigado Asimões e Lucas Machado!
Grato pelo contato de vocês.
Resolvi o problema mudando os comandos de seleção de impressora. Da seguinte forma:
Antes eu selecionava a impressora assim:
SELECT PRINTER cPrinter ;
ORIENTATION PRINTER_ORIENT_PORTRAIT ;
PAPERSIZE PRINTER_PAPER_LETTER ;
QUALITY PRINTER_RES_MEDIUM ;
PAPERLENGTH nLinhas ;
PAPERWIDTH 210 ;
PREVIEW
Troquei o comando select por este:
SELECT PRINTER DIALOG TO lSelePrinter PREVIEW
If lSelePrinter == .T.
PrintDoc_256()
EndIf
Desta forma, o Operador pode selecionar o modo desejado de impressão: Retrato/Paisagem.
Um abraço,
JAIR RANGEL
Grato pelo contato de vocês.
Resolvi o problema mudando os comandos de seleção de impressora. Da seguinte forma:
Antes eu selecionava a impressora assim:
SELECT PRINTER cPrinter ;
ORIENTATION PRINTER_ORIENT_PORTRAIT ;
PAPERSIZE PRINTER_PAPER_LETTER ;
QUALITY PRINTER_RES_MEDIUM ;
PAPERLENGTH nLinhas ;
PAPERWIDTH 210 ;
PREVIEW
Troquei o comando select por este:
SELECT PRINTER DIALOG TO lSelePrinter PREVIEW
If lSelePrinter == .T.
PrintDoc_256()
EndIf
Desta forma, o Operador pode selecionar o modo desejado de impressão: Retrato/Paisagem.
Um abraço,
JAIR RANGEL
MINIGUI + HARBOUR + BRMAKE + CDX
CLIPPER 5.2E + VISUALLIB 2 + BLINKER
CLIPPER 5.2E + VISUALLIB 2 + BLINKER
