Jump to content
Fivewin Brasil

Impressão - Tamanho da Folha no padrão da impressora


rafaoasys

Recommended Posts

Bom dia.

Estou com o seguinte problema, ao realizar a visualização da impressão, o tamanho da folha da impressora é ajustada automaticamente para o tamanho padrão da impressora.

Isto acontece embora nas configurações da impressora já esteja como A4. Mesmo com a configuração correta (no Windows) ainda assim o tamanho da folha é modificado para A6 em uma impressora, e Carta em outra. Provavelmente são os tamanhos padrão de fábrica.

Alguma dica?

Link to comment
Share on other sites


FUNCTION FOLHA_PAPEL_A4()

// Para Checar o Tipo de Papel Que Esta Na Impressora - Correto A4
oPrinter = TPrinter():New( 'Meu Documento' , .F., .F., NIL, .F. )

aPaper = PrnGetPaper( oPrinter )

IF .NOT. aPaper[3] = 'A4'

MsgInfo( OemToAnsi( "ATEN€ÇO USUµRIO: " )+CRLF+;
OemToAnsi( "O PROGRAMA DETECTOU QUE O TIPO " )+CRLF+;
OemToAnsi( "DE PAPEL QUE FOI DEFINIDO NA IMPRESSORA, " )+CRLF+;
OemToAnsi( "ESTµ INCORRETO. POR FAVOR ENTRE EM: " )+CRLF+;
OemToAnsi( "<BotÆo> Iniciar: " )+CRLF+;
OemToAnsi( "No Windows 7 <Click> Em: " )+CRLF+;
OemToAnsi( "Dispositivos e Impressoras. " )+CRLF+;
OemToAnsi( "No Windows XP <Click> Em: " )+CRLF+;
OemToAnsi( "Impressoras e Aparelhos de Fax. " )+CRLF+;
OemToAnsi( "ENTRE NAS PROPRIEDADES DA IMPRESSORA E " )+CRLF+;
OemToAnsi( "TROQUE O TIPO DE PAPEL PARA O FORMATO A4." )+CRLF+;
OemToAnsi( "O DOCUMENTO DE IMPRESSÇO DEVE SER SEMPRE " )+CRLF+;
OemToAnsi( "IMPRESSO NESTE FORMATO DE PAPEL: A4. " )+CRLF+;
OemToAnsi( "TECLE <ENTER> PARA CONTINUAR... AIAIUIUI." ), ;
OemToAnsi( "Favor Trocar o Tipo de Papel Para A4. " ) )

ENDIF

RETURN( .T. )
//----------------------------------------------------

FUNCTION PrnGetPaper( oPrn )

LOCAL aPoint := PrnGetSize( oPrn:hDc ), aRecmm := {}, nW := 0
LOCAL nH := 0, wx := 0

LOCAL aPapers:={{"DMPAPER_LETTER " , 1 , "Letter " , {216,279} },;
{"DMPAPER_LETTERSMALL " , 2 , "Letter Small " , {216,279} },;
{"DMPAPER_TABLOID " , 3 , "Tabloid " , {280,432} },;
{"DMPAPER_LEDGER " , 4 , "Ledger " , {432,280} },;
{"DMPAPER_LEGAL " , 5 , "Legal " , {216,356} },;
{"DMPAPER_STATEMENT " , 6 , "Statement " , {140,216} },;
{"DMPAPER_EXECUTIVE " , 7 , "Executive " , {184,257} },;
{"DMPAPER_A3 " , 8 , "A3 " , {297,420} },;
{"DMPAPER_A4 " , 9 , "A4 " , {210,297} },;
{"DMPAPER_A4SMALL " , 10 , "A4 Small " , {210,297} },;
{"DMPAPER_A5 " , 11 , "A5 " , {148,210} },;
{"DMPAPER_B4 " , 12 , "B4 " , {250,354} },;
{"DMPAPER_B5 " , 13 , "B5 " , {182,257} },;
{"DMPAPER_FOLIO " , 14 , "Folio " , {216,330} },;
{"DMPAPER_QUARTO " , 15 , "Quarto " , {215,275} },;
{"DMPAPER_10X14 " , 16 , "10x14 in " , {254,356} },;
{"DMPAPER_11X17 " , 17 , "11x17 in " , {280,432} },;
{"DMPAPER_NOTE " , 18 , "Note " , {216,279} },;
{"DMPAPER_ENV_9 " , 19 , "Envelope #9 " , {098,225} },;
{"DMPAPER_ENV_10 " , 20 , "Envelope #10 " , {105,241} },;
{"DMPAPER_ENV_11 " , 21 , "Envelope #11 " , {114,264} },;
{"DMPAPER_ENV_12 " , 22 , "Envelope #12 " , {109,279} },;
{"DMPAPER_ENV_14 " , 23 , "Envelope #14 " , {127,292} },;
{"DMPAPER_ENV_DL " , 27 , "Envelope DL " , {110,220} },;
{"DMPAPER_ENV_C5 " , 28 , "Envelope C5 " , {162,229} },;
{"DMPAPER_ENV_C3 " , 29 , "Envelope C3 " , {324,458} },;
{"DMPAPER_ENV_C4 " , 30 , "Envelope C4 " , {229,324} },;
{"DMPAPER_ENV_C6 " , 31 , "Envelope C6 " , {114,162} },;
{"DMPAPER_ENV_C65 " , 32 , "Envelope C65 " , {114,229} },;
{"DMPAPER_ENV_B4 " , 33 , "Envelope B4 " , {250,353} },;
{"DMPAPER_ENV_B5 " , 34 , "Envelope B5 " , {176,250} },;
{"DMPAPER_ENV_B6 " , 35 , "Envelope B6 " , {176,125} },;
{"DMPAPER_ENV_ITALY " , 36 , "Envelope " , {110,230} },;
{"DMPAPER_ENV_MONARCH " , 37 , "Envelope Monarch " , {098,191} },;
{"DMPAPER_ENV_PERSONAL " , 38 , "6 3/4 Envelope " , {092,165} },;
{"DMPAPER_FANFOLD_US " , 39 , "US Std Fanfold " , {378,279} },;
{"DMPAPER_FANFOLD_STD_GERMAN" , 40 , "German Std Fanfold " , {216,305} },;
{"DMPAPER_FANFOLD_LGL_GERMAN" , 41 , "German Legal Fanfold" , {216,330} } }

aRecmm = oPrn:Pix2Mmtr(aPoint[1], aPoint[2])

nW = ROUND(aRecmm[1],0)
nH = ROUND(aRecmm[2],0)

for wx=1 to len(aPapers)
if aPapers[wx,4,1] = nW .AND. aPapers[wx,4,2] = nH
return {aPapers[wx,1],aPapers[wx,2],aPapers[wx,3]}
endif
next

return {"",0,""}


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...