Página 1 de 1
imprimir acento no win32prn()
Enviado: 01 Dez 2009 18:31
por lapinhazzz
Boa Noite amigos do forum.
Cá estou eu a chatear.
Agora como faço para imprimir acentos na classe de impressão win32prn().
Obrigado a todos
lapinhazzz
Re: imprimir acento no win32prn()
Enviado: 01 Dez 2009 20:04
por gvc
A classe win32prn imprime a imagem do que vc mandou para a impressora.
Se vc postar as palavras acentuadas, elas sairão assim impressas.
Acho que vc esta confundindo com impressão DOS que tinha que usar a tabela de caracteres residente da impressora.
Re: imprimir acento no win32prn()
Enviado: 02 Dez 2009 11:37
por lapinhazzz
Bom Dia,
Amigos do Forum
Mas se imprimir linhas normais ou duplas do ascii elas não vão para a impressora.
Obrigado.
Cumprimentos
Lapinhazzz
Re: imprimir acento no win32prn()
Enviado: 02 Dez 2009 12:13
por gvc
Eu uso estes comandos para imprimir os textos no relatório usando win32prn.
Tb tem o uso de BMP impresso no mesmo.
Não podeire postar o código todo pois é da empresa.
Código: Selecionar todos
cprinter := getdefaultprinter()
oprinter:= win32prn():new(cprinter)
oPrinter:Landscape:= .F.
oPrinter:FormType := FORM_A4
oPrinter:Copies := 1
oPrinter:Create()
oPrinter:startDoc()
cFileName := "brasaog.bmp"
oBmp := Win32Bmp():new()
oBmp:loadFile(cFileName)
cFileName := "holerith41.bmp"
oBmp2 := Win32Bmp():new()
oBmp2:loadFile(cFileName)
cFileName := "brasaog2.bmp"
oBmp3 := Win32Bmp():new()
oBmp3:loadFile(cFileName)
oprinter:setPen(0, 5)
...
oPrinter:SetPrc(linha, 10)
oPrinter:TextOut(' Código', .T.)
oPrinter:SetPrc(linha, 40)
oPrinter:TextOut('Rendimento',,, 1)
oPrinter:SetPrc(linha, 60)
oPrinter:TextOut('Imposto Retido',,, 1)
oPrinter:SetPrc(linha++, 80)
oPrinter:TextOut('INSS',,, 1)
...
oBmp2:draw( oPrinter, {tamanhos[5, 1], tamanhos[5, 2], tamanhos[5, 3], tamanhos[5, 4]})
// Brasão Contra-Capa
oBmp3:draw( oPrinter, {tamanhos[6, 1], tamanhos[6, 2], tamanhos[6, 3], tamanhos[6, 4]})
linha := 24
oPrinter:SetPrc(linha++, 20)
oPrinter:TextOut(darf01->nome, .T.)
oPrinter:SetPrc(linha++, 20)
oPrinter:TextOut(darf01->endereco, .T.)
oPrinter:SetPrc(linha++, 20)
oPrinter:TextOut(darf01->bairro, .T.)
Re: imprimir acento no win32prn()
Enviado: 02 Dez 2009 19:03
por Hasse
Use as funções:
Do DOS para Windows:
c_textoFinal := HB_OemToAnsi( c_textoOriginal )
Do Windows para o DOS:
c_textoFinal := HB_AnsiToOem( c_textoOriginal )
ou direto na linha de impressão:
oPrinter:TextOut( HB_OemToAnsi( c_textoOriginal ), .T. )