rafaoasys Posted November 10, 2014 Report Share Posted November 10, 2014 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? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 10, 2014 Report Share Posted November 10, 2014 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,""} rafaoasys 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 10, 2014 Report Share Posted November 10, 2014 Mais documentação: http://forums.fivetechsupport.com/viewtopic.php?t=12647 abs. rafaoasys 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.