Página 1 de 1

Impressão HP Laserjet 1200

Enviado: 28 Set 2004 09:46
por chokito
Estou com problemas para imprimir em uma HP Laserjet 1200, ela está ligada no meu servidor (Linux) e estou tentando à partir de um terminal (Win 98) que tem essa impressora mapeada e direciona a porta lpt1 para ela...
Quando mando imprimir nela o texto sai grande (10 cpp), e não comprimido (15 cpp).

O código que estou usando para imprimir comprimido é o seguinte:

chr(27)+"(s15H" // Tamanho do caracter 15 cpp

é esse mesmo? alguém pode confirmar por favor?

Desde já agradeço.

Impressão HP Laser

Enviado: 28 Set 2004 10:11
por ClipperTools
Bom dia,

Tente a seguinte combinação :

NetRedir( "LPT2:", "\\ServidorImp\HP4100tn" )
-> NetRedir é uma função da lib CT
-> capturei LPT2, mas pode ser a que vc quiser
-> \\nome do seu servidor de impressão ou computador onde está instalada a sua impressora
-> o nome de compartilhamento da sua impressora

Set Device To Print
Set Printer To LPT2

@ 00, 00 say chr(027)+chr(040)+chr(115)+chr(053)+chr(066) //Negrito
@ 00, 00 say chr(027)+chr(040)+chr(115)+chr(049)+chr(054)+chr(054)+chr(048)+chr(050)+chr(084) //Arial
@ 00, 00 say chr(027)+chr(038)+chr(108)+chr(050)+chr(054)+chr(065) //A4
@ 00, 00 say chr(027)+chr(040)+chr(115)+"12"+chr(072) //Condensar

...aqui vc faz o seu relatório

depois de terminado, inclua essas linhas :

Set Printer To
Set Device To Screen
NetCancel( "LPT2:" )
-> sempre use NetCancel, para liberar o dispositivo.

A função NetRedir(), funciona tanto em redes Novell como Windows, e além de capturar uma porta e direcionar para ela uma impressão, ela serve também para trabalhar com sistemas em rede, por exemplo :

NetRedir("R:", "\\servidor_dados\contab$")
set default to r:\contabil
-> vc atribui uma letra, a qual será mapeada pelo Windows
-> e diz qual o caminho que deve ser mapeado, exatamente como faz quando está no explorer e faz essa operação, depois, é só dizer para o Clipper que o default para a busca dos arquivos é aquela letra de drive+a pasta onde estão os mesmos. Para desconectar, siga a mesma sintaxe mostrada acima. Caso vc não desconecte a unidade de rede, ou dispositivo, com certeza terá problemas quando acessar novamente a aplicação.

Abraços

ClipperTools

Enviado: 08 Out 2004 08:12
por chokito
mesmo assim ainda não deu, ele corta no fim algumas colunas... estou tentando imprimir 132 colunas comprimido (15 cpp)...
Alguém sabe o que pode ser?
Obrigado

Teste assim...É como utilizo HP1200, HP1100 e HP1000

Enviado: 09 Out 2004 10:01
por syda
//
PUBLIC A4,OFICIO,PAISAGEM,RETRATO,TOPO,VERTIC6,VERTIC8,VERTIC12,ELITE,PC8502
PUBLIC TIMES,LETTER,NORMAL,BOLD,ECONOMD,TAM0,TAM1,TAM2,TAM3,TAM4,TAM5,EXPAND,EXPRED,NOREXP
PUBLIC NORM,NORM0,NORM1,NORM2,NORM3,NORM4,REDUZ,REDUZ2,REDUZ3,REDUZ4
PUBLIC REDUZ5,REDUZ6,CORA,CORB,COR1,COR2,COR3,COR4,COR5,COR6,CORB7
PUBLIC PERMAN,DEFAUT,ITALIC,ITALICOFF,BOLDOFF,LTCOD,LTCOD2,UNIVERS
PUBLIC DPI,SOMBRA,AREA,LTPROD1,LTPROD2,LTPROD3,LTPROD4,LTPROD5,LTPROD6,OLIVE,ARIAL
PUBLIC EXPANDED,UNDERL,UNDEROFF,PROP,PROPOFF,ESQUERDA,RESETHP,TAM11,TAM12,TAM13,TAM14,TAM16
PUBLIC LIGTH,TAM8,TAM10,AREA2, ESCP, HPTRANS, SKIPERF
PUBLIC HELV08,HELV10,HELV12,HELV14,HELV16,HELV18,HELV20
PUBLIC TIMES08,TIMES10,TIMES12,TIMES14,TIMES16,TIMES20
PUBLIC LETTER08,LETTER10,LETTER12,LETTER14,LETTER16,LETTER20
OFICIO = CHR(27)+'&l3A'
A4 = CHR(27)+'&l26A'
PAISAGEM = CHR(27)+'&l1O'
RETRATO = CHR(27)+'&l0O'
TOPO = CHR(27)+'&l0E'
ESQUERDA = CHR(27)+'&a0L'
VERTIC6 = CHR(27)+'&l6D'
VERTIC8 = CHR(27)+'&l8D'
VERTIC12 = CHR(27)+'&l12D'
PC8502 = CHR(27)+'(12U'
PROP = CHR(27)+'(s1P'
PROPOFF = CHR(27)+'(s0P'
LIGTH = CHR(27)+'(s-7B' // Formato da letra - LIGTH
NORMAL = CHR(27)+'(s-2B' // Formato da letra - medium - book
BOLD = CHR(27)+'(s3B'
BOLDOFF = CHR(27)+'(s-5B'
ITALIC = CHR(27)+'(s1S'
ITALICOFF= CHR(27)+'(s0S' // Funciona p/ desativar o itálico e o expandido
EXPANDED = CHR(27)+'(s24S'
UNDERL = CHR(27)+'&d0D'
UNDEROFF = CHR(27)+'&d@'

// mantive algumas que são iguais para ter histórico.
ELITE = PROPOFF+CHR(27)+'(s24579T' // elite e times são iguais
TIMES = PROPOFF+CHR(27)+'(s4101T' // - ,, -
LETTER = PROPOFF+CHR(27)+'(s4102T' //
//ELITE = CHR(27)+'(s4099T' // COURIER
//TIMES = CHR(27)+'(s4101T' // CG Times
//LETTER = CHR(27)+'(s4102T'
ROMAN = CHR(27)+'(s16901T' // roman, olive, univers e arial são iguais
OLIVE = CHR(27)+'(s4116T' // - ,, -
UNIVERS = CHR(27)+'(s4362T' // - ,, -
ARIAL = CHR(27)+'(s16602T' // - ,, -

ECONOMD = CHR(27)+'*o-1M' // liga economode - economizar tonner

//
TIMES08 = PROP+CHR(27)+'(s16v0b4101T' // CG Times
TIMES10 = PROP+CHR(27)+'(s14v0b4101T'
TIMES12 = PROP+CHR(27)+'(s12v0b4101T'
TIMES14 = PROP+CHR(27)+'(s10v0b4101T'
TIMES16 = PROP+CHR(27)+'(s08v0b4101T'
TIMES20 = PROP+CHR(27)+'(s06v0b4101T'
//
HELV08 = PROP+CHR(27)+'(s1p16v24580T' // Helvetica
HELV10 = PROP+CHR(27)+'(s1p14v24580T'
HELV12 = PROP+CHR(27)+'(s1p12v24580T'
HELV14 = PROP+CHR(27)+'(s1p10v24580T'
HELV16 = PROP+CHR(27)+'(s1p08v24580T'
HELV18 = PROP+CHR(27)+'(s1p06v24580T'
HELV20 = PROP+CHR(27)+'(s1p04v24580T'
//
LETTER08 = PROPOFF+CHR(27)+'(s0p08h0s4102T' // Letter Gothic
LETTER10 = PROPOFF+CHR(27)+'(s0p10h0s4102T'
LETTER12 = PROPOFF+CHR(27)+'(s0p12h0s4102T'
LETTER14 = PROPOFF+CHR(27)+'(s0p14h0s4102T'
LETTER16 = PROPOFF+CHR(27)+'(s0p16h0s4102T'
LETTER18 = PROPOFF+CHR(27)+'(s0p18h0s4102T'
LETTER20 = PROPOFF+CHR(27)+'(s0p20h0s4102T'
LETTER22 = PROPOFF+CHR(27)+'(s0p22h0s4102T'

TAM0 := CHR(27)+'(s6V' // POINT SIZE
TAM1 := CHR(27)+'(s10V'
TAM2 := CHR(27)+'(s15V'
TAM3 := CHR(27)+'(s20V'
TAM4 := CHR(27)+'(s0V'
TAM8 := CHR(27)+'(s8V'
TAM10 := CHR(27)+'(s10V'
TAM11 := CHR(27)+'(s11V'
TAM12 := CHR(27)+'(s12V'
TAM13 := CHR(27)+'(s13V'
TAM14 := CHR(27)+'(s14V'
TAM16 := CHR(27)+'(s16V'
LTCOD := TAM3+CHR(27)+'(s7H'
LTCOD2 := TAM3+CHR(27)+'(s9H'
LTPROD1 := TAM4+CHR(27)+'(s1.3H'
LTPROD2 := TAM3+CHR(27)+'(s5H'
LTPROD3 := TAM4+CHR(27)+'(s6H'
LTPROD4 := TAM4+CHR(27)+'(s8H'
LTPROD5 := TAM4+CHR(27)+'(s10H'
LTPROD6 := TAM4+CHR(27)+'(s12H'
EXPAND := TAM4+CHR(27)+'(s9H'
EXPRED := TAM0+CHR(27)+'(s10H'
NOREXP := TAM0+CHR(27)+'(s11H'
NORM := TAM12+CHR(27)+'(s12H'
NORM0 := TAM1+CHR(27)+'(s13H'
NORM1 := TAM1+CHR(27)+'(s14H'
NORM2 := TAM0+CHR(27)+'(s17H'
NORM3 := TAM1+CHR(27)+'(s15H'
NORM4 := TAM0+CHR(27)+'(s16H'
REDUZ := TAM1+CHR(27)+'(s17H'
REDUZ2 := TAM1+CHR(27)+'(s18H'
REDUZ3 := TAM0+CHR(27)+'(s20H'
REDUZ4 := TAM1+CHR(27)+'(s22H'
REDUZ5 := TAM1+CHR(27)+'(s25H'
REDUZ6 := TAM1+CHR(27)+'(s35H'
DEFAUT := VERTIC6+NORMAL+LETTER+NORM+ECONOMD
SKIPERF := CHR(27)+'&l0L'
ESCP := Chr(27) + 'E'
HPTRANS := Chr(27) + "*v0N" // Caracteres transparentes
RESETHP:=ESCP+SKIPERF+PC8502+VERTIC6+OFICIO+TOPO+ESQUERDA+LETTER+NORM+ECONOMD
// Sombreamento
DPI = CHR(27)+'*t400R'
SOMBRA = CHR(27)+'*c30G'
AREA = CHR(27)+'*c755a110b2P' // exemplo
AREA2 = CHR(27)+'*c500a70b2P' // exemplo
// USAR: DPI + SOMBRA + AREA
SET DEVICE TO PRINT
SET CONSOLE OFF
SET PRINTER ON
SET PRINTER TO LPT1
?? RESETHP
SET PRINTER TO
SET PRINTER OFF
SET CONSOLE ON
SET DEVICE TO SCREEN
RETURN NIL

// exemplo de como aplicar as variáveis criadas
/*
@ prow()+2,000 SAY ELITE+LTCOD // 56
@ prow()+1,000 SAY ELITE+LTCOD2 // 73 = EXPAND
@ prow()+7,000 SAY ELITE+LTPROD1 // 10
@ prow()+2,000 SAY ELITE+LTPROD2 // 40
@ prow()+2,000 SAY ELITE+LTPROD3 // 48
@ prow()+1,000 SAY ELITE+LTPROD4 // 64
@ prow()+1,000 SAY ELITE+LTPROD5 // 80 = EXPRED
@ prow()+1,000 SAY ELITE+LTPROD6 // 96 = NORM
@ prow()+1,000 SAY ELITE+EXPAND // 73 = LTCOD2
@ prow()+1,000 SAY ELITE+EXPRED // 80 = LTPROD5
@ prow()+1,000 SAY ELITE+NOREXP // 89
@ prow()+1,000 SAY ELITE+NORM // 96 = LTPROD6
@ prow()+1,000 SAY ELITE+NORM0 // 105
@ prow()+1,000 SAY ELITE+NORM1 // 115
@ prow()+1,000 SAY ELITE+NORM2 // 134 = REDUZ
@ prow()+1,000 SAY ELITE+NORM3 // 120
@ prow()+1,000 SAY ELITE+NORM4 // 127
@ prow()+1,000 SAY ELITE+REDUZ // 134 = NORM2
@ prow()+1,000 SAY ELITE+REDUZ2 // 142
@ prow()+1,000 SAY ELITE+REDUZ3 // 160
@ prow()+1,000 SAY ELITE+REDUZ4 // 172
@ prow()+1,000 SAY ELITE+REDUZ5 // 200
@ prow()+1,000 SAY ELITE+REDUZ6 // 267

@ prow()+2,000 SAY LETTER+LTCOD // 56
@ prow()+2,000 SAY LETTER+LTCOD2 // 73 = EXPAND
@ prow()+7,000 SAY LETTER+LTPROD1 // 10
@ prow()+3,000 SAY LETTER+LTPROD2 // 40
@ prow()+2,000 SAY LETTER+LTPROD3 // 48
@ prow()+2,000 SAY LETTER+LTPROD4 // 64
@ prow()+1,000 SAY LETTER+LTPROD5 // 80 = EXPRED
@ prow()+1,000 SAY LETTER+LTPROD6 // 96 = NORM
@ prow()+1,000 SAY LETTER+EXPAND // 73 = LTCOD2
@ prow()+1,000 SAY LETTER+EXPRED // 80 = LTPROD5
@ prow()+1,000 SAY LETTER+NOREXP // 89
@ prow()+1,000 SAY LETTER+NORM // 96 = LTPROD6
@ prow()+1,000 SAY LETTER+NORM0 // 105
@ prow()+1,000 SAY LETTER+NORM1 // 115
@ prow()+1,000 SAY LETTER+NORM2 // 134 = REDUZ
@ prow()+1,000 SAY LETTER+NORM3 // 120
@ prow()+1,000 SAY LETTER+NORM4 // 127
@ prow()+1,000 SAY LETTER+REDUZ // 134 = NORM2
@ prow()+1,000 SAY LETTER+REDUZ2 // 142
@ prow()+1,000 SAY LETTER+REDUZ3 // 160
@ prow()+1,000 SAY LETTER+REDUZ4 // 172
@ prow()+1,000 SAY LETTER+REDUZ5 // 200
@ prow()+1,000 SAY LETTER+REDUZ6 // 267
EJECT
@ prow()+2,000 SAY HELV08 // 65
@ prow()+1,000 SAY HELV10 // 75
@ prow()+1,000 SAY HELV12 // 86
@ prow()+1,000 SAY HELV14 // 105
@ prow()+1,000 SAY HELV16 // 134
@ prow()+1,000 SAY HELV18 // 172
@ prow()+1,000 SAY HELV20 // 267
@ prow()+2,000 SAY LETTER08 // 64
@ prow()+1,000 SAY LETTER10 // 80
@ prow()+1,000 SAY LETTER12 // 96
@ prow()+1,000 SAY LETTER14 // 115
@ prow()+1,000 SAY LETTER16 // 127
@ prow()+1,000 SAY LETTER18 // 142
@ prow()+1,000 SAY LETTER20 // 160
@ prow()+1,000 SAY LETTER22 // 172
EJECT */

:razz: Espero ter ajudado.