fwmsprinter - linha microsiga protheus

15
Created by Cesar Augusto Bianchi da Silva, last modified by Marcelo Cardoso da Silva on Nov 05, 2014 Linha Microsiga Protheus / / Diversos 36533 FWMsPrinter Colapse ALL Expand ALL Cria um objeto que permite visualizar e imprimir relatório. Hierarquia Construtores New Método construtor da classe. Sintaxe FWMsPrinter(): New ( < cFilePrintert >, [ nDevice], [ lAdjustToLegacy], [ cPathInServer], [ lDisabeSetup ], [ lTReport], [ @oPrintSetup], [ cPrinter], [ lServer], [ lPDFAsPNG], [ lRaw], [ lViewPDF], [ nQtdCopy] ) > oPrinter Parâmetros Nome Tipo Descrição Obrigatório Referência cFilePrintert Caracter Nome do arquivo de relatório a ser criado. X nDevice Numérico Tipos de Saída aceitos:IMP_SPOOL Envia para impressora.IMP_PDF Gera arquivo PDF à partir do relatório.Default é IMP_SPOOL lAdjustToLegacy Lógico Se .T. recalcula as coordenadas para manter o legado de proporções com a classe TMSPrinter. Default é .T.IMPORTANTE: Este cálculos não funcionam corretamente quando houver retângulos do tipo BOX e FILLRECT no relatório, podendo haver distorções de algumas pixels o que acarretará no encavalamento dos retângulos no momento da impressão. cPathInServer Caracter Diretório onde o arquivo de relatório será salvo lDisabeSetup Lógico Se .T. não exibe a tela de Setup, ficando à cargo do programador definir quando e se será feita sua chamada. Default é .F. lTReport Lógico Indica que a classe foi chamada pelo TReport. Default é .F. oPrintSetup Objeto Objeto FWPrintSetup instanciado pelo usuário. X cPrinter Caracter Impressora destino "forçada" pelo usuário. Default é "" lServer Lógico Indica impressão via Server (.REL Não será copiado para o Client). Default é .F. lPDFAsPNG Lógico .T. Indica que será gerado o PDF no formato PNG. O Default é .T. lRaw Lógico .T. indica impressão RAW/PCL, enviando para o dispositivo de impressão caracteres binários(RAW) ou caracteres programáveis específicos da impressora(PCL) lViewPDF Lógico Quando o tipo de impressão for PDF, define se arquivo será exibido após a impressão. O default é .T. nQtdCopy Numérico Define a quantidade de cópias a serem impressas quando utilizado o metodo de impressão igual a SPOOL. Recomendavel em casos aonde a utilização da classe FwMsPrinter se da por meio de eventos sem a intervenção do usuario (JOBs / Schedule por exemplo)Obs: Aplicase apenas a ambientes que possuam o fonte FwMsPrinter.prw com data igual ou superior a 03/05/2012. Retorno oPrinter () Retorna o objeto criado. Observações Exemplos lAdjustToLegacy := .F. lDisableSetup := .T.oPrinter := FWMSPrinter():New("Danfe.rel", IMP_PDF, lAdjustToLegacy Métodos Box Insere um retângulo no relatório. Sintaxe FWMsPrinter(): Box ( < nRow>, < nCol>, < nBottom>, < nRight>, [ cPixel] ) >

Upload: joao-roberto-mendes-silva

Post on 04-Sep-2015

1.234 views

Category:

Documents


34 download

DESCRIPTION

FWMsPrinter - Linha Microsiga Protheus

TRANSCRIPT

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 1/15

    CreatedbyCesarAugustoBianchidaSilva,lastmodifiedbyMarceloCardosodaSilvaonNov05,2014

    LinhaMicrosigaProtheus / / Diversos36533

    FWMsPrinter

    ColapseALLExpandALL

    Criaumobjetoquepermitevisualizareimprimirrelatrio.

    Hierarquia

    Construtores

    New

    Mtodoconstrutordaclasse.

    Sintaxe

    FWMsPrinter():New(,[nDevice],[lAdjustToLegacy],[cPathInServer],[lDisabeSetup],[lTReport],[@oPrintSetup],[cPrinter],[lServer],[lPDFAsPNG],[lRaw],[lViewPDF],[nQtdCopy])>oPrinter

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    cFilePrintert Caracter Nomedoarquivoderelatrioasercriado. X

    nDevice Numrico TiposdeSadaaceitos:IMP_SPOOLEnviaparaimpressora.IMP_PDFGeraarquivoPDFpartirdorelatrio.DefaultIMP_SPOOL

    lAdjustToLegacy Lgico Se.T.recalculaascoordenadasparamanterolegadodeproporescomaclasseTMSPrinter.Default.T.IMPORTANTE:EsteclculosnofuncionamcorretamentequandohouverretngulosdotipoBOXeFILLRECTnorelatrio,podendohaverdistoresdealgumaspixelsoqueacarretarnoencavalamentodosretngulosnomomentodaimpresso.

    cPathInServer Caracter Diretrioondeoarquivoderelatriosersalvo

    lDisabeSetup Lgico Se.T.noexibeateladeSetup,ficandocargodoprogramadordefinirquandoeseserfeitasuachamada.Default.F.

    lTReport Lgico IndicaqueaclassefoichamadapeloTReport.Default.F.

    oPrintSetup Objeto ObjetoFWPrintSetupinstanciadopelousurio. X

    cPrinter Caracter Impressoradestino"forada"pelousurio.Default""

    lServer Lgico IndicaimpressoviaServer(.RELNosercopiadoparaoClient).Default.F.

    lPDFAsPNG Lgico .T.IndicaquesergeradooPDFnoformatoPNG.ODefault.T.

    lRaw Lgico .T.indicaimpressoRAW/PCL,enviandoparaodispositivodeimpressocaracteresbinrios(RAW)oucaracteresprogramveisespecficosdaimpressora(PCL)

    lViewPDF Lgico QuandootipodeimpressoforPDF,definesearquivoserexibidoapsaimpresso.Odefault.T.

    nQtdCopy Numrico DefineaquantidadedecpiasaseremimpressasquandoutilizadoometododeimpressoigualaSPOOL.RecomendavelemcasosaondeautilizaodaclasseFwMsPrintersedapormeiodeeventossemaintervenodousuario(JOBs/Scheduleporexemplo)Obs:AplicaseapenasaambientesquepossuamofonteFwMsPrinter.prwcomdataigualousuperiora03/05/2012.

    RetornooPrinter

    ()Retornaoobjetocriado.

    Observaes

    Exemplos

    lAdjustToLegacy:=.F.lDisableSetup:=.T.oPrinter:=FWMSPrinter():New("Danfe.rel",IMP_PDF,lAdjustToLegacy,,lDisableSetup)//OrdemobrigtoriadeconfiguraodorelatriooPrinter:SetResolution(72)oPrinter:SetPortrait()oPrinter:SetPaperSize(DMPAPER_A4)oPrinter:SetMargin(60,60,60,60)//nEsquerda,nSuperior,nDireita,nInferioroPrinter:cPathPDF:="c:\directory\"//CasosejautilizadaimpressoemIMP_PDF

    Mtodos

    Box

    Insereumretngulonorelatrio.

    Sintaxe

    FWMsPrinter():Box(,,,,[cPixel])>

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 2/15

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nRow Numrico Indicaacoordenadaverticalempixels. X

    nCol Numrico Indicaacoordenadahorizontalempixels. X

    nBottom Numrico Indicaaposiodoobjetoemrelaoaorodap. X

    nRight Numrico Indicaaposiodoobjetodireita. X

    cPixel Caracter Expessuradalinhaempixels.Default"2"

    Observaes

    Exemplos

    oPrinter:Box(130,10,600,900,"4")

    Cancel

    Definecancelamentodorelatorio.

    Sintaxe

    FWMsPrinter():Cancel()>

    Observaes

    Exemplos

    oPrinter:Cancel()

    Canceled

    Retornaestadodorelatrio.

    Sintaxe

    FWMsPrinter():Canceled()>lRet

    RetornolRet

    ()RetornaseorelatriofoicanceladopelomtodoCancel().

    Observaes

    Exemplos

    oPrinter:Canceled()

    Cmtr2Pix

    Devolveporreferncia,ovalorconvertidoempixelsdeumacolunaeumalinha.

    Sintaxe

    FWMsPrinter():Cmtr2Pix([nLinha],[nCol])>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nLinha Numrico Indicaalinhaquesercalculada.

    nCol Numrico Indicaacolunaquesercalculada.

    Observaes

    Exemplos

    nCol1:=10nRow1:=10oPrinter:Cmtr2Pix(nCol1,nRow1)//Resultado//nCol1:=1107.08955224//nRow1:=1107.26600985

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 3/15

    Code128C

    ImprimecodigodebarranopadroCode128C

    Sintaxe

    FWMsPrinter():Code128C(,,,)>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nRow Numrico Posiorelativaaotopo X

    nCol Numrico Posiorelativaesquerda X

    cCodeBar Caracter Textoasertransformadoemcdigodebarra X

    nSizeBar Numrico Tamanhodafonte(cdigodebarra) X

    Observaes

    Exemplos

    #Include"PROTHEUS.CH"#Include"RPTDEF.CH"#INCLUDE"TBICONN.CH"UserFunctionCode128C()LocaloPrinterPREPAREENVIRONMENTEMPRESA"01"FILIAL"01"oPrinter:=FWMSPrinter():New('teste',6,.F.,,.T.,,,,,.F.)oPrinter:Setup()oPrinter:setDevice(IMP_PDF)oPrinter:cPathPDF:="C:\"oPrinter:Say(10,0,"TesteparaCode128C")oPrinter:Code128c(100,10,'1234567',50)oPrinter:EndPage()oPrinter:Preview()FreeObj(oPrinter)oPrinter:=NilRESETENVIRONMENTReturn

    FwMsBar

    ImprimecodigodebarrassuportadospelafunoMsBar().

    Sintaxe

    FWMsPrinter():FWMsBar(cTypeBar,nRow,nCol,cCode,oPrint,lCheck,Color,lHorz,nWidth,nHeigth,lBanner,cFont,cMode,lPrint,nPFWidth,nPFHeigth,lCmtr2Pix)>

    Parmetros

    Nome Tipo Descrio

    cTypeBar Caracter Cdigodotipodocdigodebarras:

    "EAN13","EAN8","UPCA","SUP5","CODE128",

    "INT25","MAT25,"IND25","CODABAR","CODE3_9"

    nRow Numrico Posiorelativaesquerda

    nCol Numrico Posiorelativaaotopo

    cCode Caracter Textoasertransformadoemcdigodebarra

    oPrint Objeto ObjetoPrinter

    lCheck Lgico Secalculaodigitodecontrole.Defautl.T.

    Color Numrico NumerodaCor,utilizea"color.ch".DefaultCLR_BLACK

    lHorz Lgico SeimprimenaHorizontal.Default.T.

    nWidth Numrico NumerodoTamanhodabarra.Default0.025

    nHeigth Numrico NumerodaAlturadabarra.Default1.5

    lBanner Lgico Seimprimealinhacomocdigoembaixodabarra.Default.T.

    cFont Caracter NomedoFonteaserutilizado.Defautl"Arial"

    cMode Caracter MododocodigodebarrasCO.Default""

    lPrint Lgico SeexecutaomtodoPrint()deoPrinterpelaMsBar.Default.T.

    nPFWidth Numrico Nmerodondicedeajustedalarguradafonte.Default1

    nPFHeigth Numrico Nmerodondicedeajustedaalturadafonte.Default1

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 4/15

    lCmtr2Pix Lgico UtilizaomtodoCmtr2Pix()doobjetoPrinter.Default.T.

    Observaes

    EstemtodoutilizasedamesmaclasseutilizadapelaMsBar().

    Exemplos

    #INCLUDE"RPTDEF.CH"#INCLUDE"FWPrintSetup.ch"#INCLUDE"protheus.ch"UserFunctiontotvsprt()LocallAdjustToLegacy:=.F.LocallDisableSetup:=.T.LocaloPrinterLocalcLocal:="\spool"LocalcCodINt25:="34190184239878442204400130920002152710000053475"LocalcCodEAN:="123456789012"oPrinter:=FWMSPrinter():New("exemplo.rel",IMP_PDF,lAdjustToLegacy,cLocal,lDisableSetup,,,,,,.F.,)oPrinter:FWMSBAR("INT25"/*cTypeBar*/,1/*nRow*/,1/*nCol*/,cCodINt25/*cCode*/,oPrinter/*oPrint*/,.T./*lCheck*/,/*Color*/,.T./*lHorz*/,0.02/*nWidth*/,0.8/*nHeigth*/,.T./*lBanner*/,"Arial"/*cFont*/,NIL/*cMode*/,.F./*lPrint*/,2/*nPFWidth*/,2/*nPFHeigth*/,.F./*lCmtr2Pix*/oPrinter:FWMSBAR("EAN13"/*cTypeBar*/,5/*nRow*/,1/*nCol*/,cCodEAN/*cCode*/,oPrinter/*oPrint*/,/*lCheck*/,/*Color*/,/*lHorz*/,/*nWidth*/,/*nHeigth*/,/*lBanner*/,/*cFont*/,/*cMode*/,.F./*lPrint*/,/*nPFWidth*/,/*nPFHeigth*/,/*lCmtr2Pix*/)oPrinter:Setup()ifoPrinter:nModalResult==PD_OKoPrinter:Preview()EndIfReturn

    DataMatrix

    ImprimecodigodebarranopadroDataMatrix

    Sintaxe

    FWMsPrinter():DataMatrix(,,,)>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nCol Numrico Posiorelativaesquerda X

    nRow Numrico Posiorelativaaotopo X

    cCodeBar Caracter Textoasercodificado X

    nSizeBar Numrico Tamanhodocodigodebarras X

    ObservaesEstaopoestadisponivelparaTotvsPrinter.exeemversessuperiores1.3.0.Paraconfirmaodaversoutilizenalinhadecomando:totvsprinterv.

    Exemplos

    #Include"PROTHEUS.CH"#Include"RPTDEF.CH"#INCLUDE"TBICONN.CH"UserFunctionDataMatrix()LocaloPrinterPREPAREENVIRONMENTEMPRESA"99"FILIAL"01"oPrinter:=FWMSPrinter():New('teste',6,.F.,,.T.,,,,,.F.)oPrinter:Setup()oPrinter:setDevice(IMP_PDF)oPrinter:cPathPDF:="C:\"oPrinter:Say(180,0,"TesteparaDataMatrix")oPrinter:DataMatrix(0,300,"DataMatrixgeradocomsucesso",100) oPrinter:EndPage()oPrinter:Preview()FreeObj(oPrinter)oPrinter:=NilRESETENVIRONMENTReturn

    Ellipse

    Insereumaelipsenorelatrio.

    Sintaxe

    FWMsPrinter():Ellipse(,,,,[nColorIn],[nColorOut],[nLineType],[cPixel])>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nLeft Numrico Indicaacoordenadahorizontalempixels. X

    nTop Numrico Indicaacoordenadaaotopoempixels. X

    nBottom Numrico Indicaaposiodoobjetoemrelaoaorodap. X

    nRigth Numrico Indicaaposiodoobjetodireita. X

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 5/15

    nColorIn Numrico Cordopreenchimentodoelipse.DefaultCLR_BLACK.

    nColorOut Numrico Cordalinhadoelipse.DefaultCLR_BLACK

    nLineType Numrico Estilodalinha.Default0.Paramaisinformaessobreostiposdisponveis,consulteareaObservaes.

    cPixel Caracter Pixelnoformatocaractereexemplo02,casonecessriousdedecimaisutilize2para0,2Pixels.

    Observaes

    Tabelascomasopesdelinhadisponveis.0SolidLine1DashLine2DashDotLine3DashDotDotLine4DotLine5CustomDashLine

    Exemplos

    oPrinter:Ellipse(10,10,100,100,CLR_BLACK,CLR_BLACK,0,2)

    EndPage

    Indicaofimdapgina.

    Sintaxe

    FWMsPrinter():EndPage()>

    Observaes

    Exemplos

    oPrinter:EndPage()

    FillRect

    Criaumobjetodotiporetngulo,quepodeserpreenchidocomumadeterminadacor.

    Sintaxe

    FWMsPrinter():FillRect(,[oBrush],[cPixel])>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    aCoords Vetor Vetordecoordenadas{nTop,nLeft,nBottom,nRight} X

    oBrush Objeto IndicaoobjetodotipoTBrushutilizadoparadefiniracordepreenchimentodoshapeeresponsvelpelopreenchimentodoretngulo.

    cPixel Caracter Expessuradalinhaempixels.Default"2"

    Observaes

    Exemplos

    oBrush1:=TBrush():New(,CLR_YELLOW)oPrinter:Fillrect({100,10,200,200},oBrush1,"2")

    GetFontWidths

    Retornaalarguradoscaracteresdeumadeterminadafonte

    Sintaxe

    FWMsPrinter():GetFontWidths([oFont],[@aFontSize])>aRet

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 6/15

    oFont Objeto Objetodotipofonte

    aFontSize ArrayofRecord Vetorpassadoporreferenciaquereceberaalistadelarguradafonteselecionada X

    RetornoaRet

    ()Vetorpassadoporreferenciaquereceberaalistadelarguradafonteselecionada

    Observaesnull

    GetOrientation

    Retornaaorientao(RetratoouPaisagem)doobjeto.

    Sintaxe

    FWMsPrinter():GetOrientation()>nOrientation

    RetornonOrientation

    ()Retornaorientaodorelatrio.Paramaisinformaessobreosretornosquepodemserapresentados,consulteareaObservaes.

    Observaes

    Tabelacomosvaloresderetorno.0Aindanodefinidopelousurio1Portrait(retrato)2Landscape(paisagem)

    Exemplos

    oPrinter:GetOrientation()

    GetTextHeight

    Retornaaalturadotexto,conformeascaractersticasdafontedefinida.

    Sintaxe

    FWMsPrinter():GetTextHeight(,)>nHeight

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    cTexto Caracter Indicaotextoquesercalculado. X

    oFont Objeto IndicaoobjetodotipoTFont,utilizadoparadefinirascaractersticasdafonteerealizaroclculo. X

    RetornonHeight

    ()Retornaaalturadotexto.

    Observaes

    Exemplos

    oFont1:=TFont():New('CourierNew',,18,.T.)nHeight:=oPrinter:GetTextheight("Teste",oFont1)

    GetTextWidth

    Retornaalarguradotexto,conformeascaractersticasdafontedefinida.

    Sintaxe

    FWMsPrinter():GetTextWidth(,)>nWidth

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    cTexto Caracter Indicaotextoquesercalculado. X

    oFont Objeto IndicaoobjetodotipoTFont,utilizadoparadefinirascaractersticasdafonteerealizaroclculo. X

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 7/15

    RetornonWidth

    ()Retornaalarguradotexto.

    Observaesnull

    Exemplos

    oFont1:=TFont():New('CourierNew',,18,.T.)nWidht:=oPrinter:GetTextWidth("Teste",oFont1)

    GetViewPDF

    QuandootipodeimpressoforPDF,retornaseoarquivoserexibidoapsaimpresso.

    Sintaxe

    FWMsPrinter():GetViewPDF()>lViewPDF

    RetornolViewPDF

    (logico).T.paraexibirorelatrioapsaimpresso.

    ObservaesEstemtodoestardisponvelempacotedelib,noqualofonteFWMSPrinter.PRWtenhaadatasuperiorouiguala08/09/2011.

    Exemplos

    oPrinter:GetViewPDF()

    IsPrinterActive

    Retornaseaimpressoraestativa.

    Sintaxe

    FWMsPrinter():IsPrinterActive()>

    Observaes

    Exemplos

    oPrinter:IsPrinterActive()

    Line

    Insereumalinhanorelatrio.

    Sintaxe

    FWMsPrinter():Line(,,,,[nColor],[cPixel])>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nTop Numrico Indicaacoordenadaverticalempixels. X

    nLeft Numrico Indicaacoordenadahorizontalempixels. X

    nBottom Numrico Indicaaposiodoobjetoaorodap. X

    nRight Numrico Indicaaposiodoobjetodireita. X

    nColor Numrico Cordalinha.Default0

    cPixel Caracter Expessuradalinhaempixels.Default"2"

    Observaes

    Exemplos

    oPrinter:Line(130,10,130,900,"4")

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 8/15

    nHorzRes

    Retornaaresoluohorizontaldaimpressoraconfigurada.

    Sintaxe

    FWMsPrinter():nHorzRes()>nResult

    RetornonResult

    ()Retornaaresoluohorizontaldaimpressoraconfigurada.

    Observaes

    Exemplos

    oPrinter:nHorzRes()

    nHorzSize

    Retornolarguradapgina.

    Sintaxe

    FWMsPrinter():nHorzSize()>nHorzSize

    RetornonHorzSize

    ()Larguradapgina

    Observaesnull

    Exemplos

    oPrinter:nHorzSize()

    nLogPixelX

    Retornaaresoluovertical,empixels,daimpressoraconfigurada.

    Sintaxe

    FWMsPrinter():nLogPixelX()>nResult

    RetornonResult

    ()Retornaaresoluoverticalempixelsdaimpressoraconfigurada.

    Observaes

    Exemplos

    oPrinter:nLogPixelX()

    nLogPixelY

    Retornaaresoluohorizontal,empixels,daimpressoraconfigurada.

    Sintaxe

    FWMsPrinter():nLogPixelY()>nResult

    RetornonResult

    ()Retornaaresoluohorizontalempixelsdaimpressoraconfigurada.

    Observaes

    Exemplos

    oPrinter:nLogPixelY()

    nVertRes

    Retornaaresoluoverticaldaimpressoraconfigurada.

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 9/15

    Sintaxe

    FWMsPrinter():nVertRes()>nResult

    RetornonResult

    ()Retornaaresoluoverticaldaimpressoraconfigurada.

    Observaes

    Exemplos

    oPrinter:nVertRes()

    nVertSize

    Retornoalturadapgina.

    Sintaxe

    FWMsPrinter():nVertSize()>nVertSize

    RetornonVertSize

    ()Alturadapgina.

    Observaes

    Exemplos

    oPrinter:nVertSize()

    PaperSize

    Retornaotamanhodopapel.

    Sintaxe

    FWMsPrinter():PaperSize()>nPaperSize

    RetornonPaperSize

    ()Tamanhodopapel.

    Observaesnull

    Exemplos

    oPrinter:PaperSize()

    Preview

    Abreajaneladevisualizaodorelatrio.

    Sintaxe

    FWMsPrinter():Preview()>

    Observaes

    Exemplos

    oPrinter:Preview()

    Print

    Enviaorelatrioparaimpressora.

    Sintaxe

    FWMsPrinter():Print()>

    Observaes

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 10/15

    Exemplos

    oPrinter:Print()

    PrinterName

    Retornaonomedaimpressora.

    Sintaxe

    FWMsPrinter():PrinterName()>cImpressora

    RetornocImpressora

    (caracter)Nomedaimpressora.

    ObservaesAimagemajustadaparapreenchertodooespaodefinidoentreaalturaelarguradoobjeto.

    Exemplos

    oPrinter:PrinterName()

    QRCode

    ImprimecodigodebarranopadroQRCode

    Sintaxe

    FWMsPrinter():QRCode(,,,)>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nCol Numrico Posiorelativaesquerda X

    nRow Numrico Posiorelativaaotopo X

    cCodeBar Caracter Textoasercodificado X

    nSizeBar Numrico Tamanhodocodigodebarras X

    ObservaesEstaopoestadisponivelparaTotvsPrinter.exeemversessuperiores1.3.0.Paraconfirmaodaversoutilizenalinhadecomando:totvsprinterv.

    Exemplos

    #Include"PROTHEUS.CH"#Include"RPTDEF.CH"#INCLUDE"TBICONN.CH"UserFunctionQRCode()LocaloPrinterPREPAREENVIRONMENTEMPRESA"99"FILIAL"01"oPrinter:=FWMSPrinter():New('teste',6,.F.,,.T.,,,,,.F.)oPrinter:Setup()oPrinter:setDevice(IMP_PDF)oPrinter:cPathPDF:="C:\"oPrinter:Say(40,0,"TesteparaQRCode")oPrinter:QRCode(0,150,"QRCodegeradocomsucesso",100)oPrinter:EndPage()oPrinter:Preview()FreeObj(oPrinter)oPrinter:=NilRESETENVIRONMENTReturn

    Say

    Insereumtextonorelatrio.

    Sintaxe

    FWMsPrinter():Say(,,,[oFont],[nWidth],[nClrText],[nAngle])>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nRow Numrico Indicaacoordenadaverticalempixelsoucaracteres. X

    nCol Numrico Indicaacoordenadahorizontalempixelsoucaracteres. X

    cText Caracter Textoaserimpresso. X

    oFont Objeto IndicaoobjetodotipoTFontutilizadoparadefinirascaractersticasdafonteaplicadanaexibiodocontedodocontrolevisual.

    nWidth Nulo Indicaalarguraempixelsdoobjeto.

    nClrText Numrico Indicaacordotextodoobjeto.

    nAngle Numrico nguloderotaodotexto.

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 11/15

    ObservaesAimagemajustadaparapreenchertodooespaodefinidoentreaalturaelarguradoobjeto.

    Exemplos

    oFont1:=TFont():New("CourierNew",,18,.T.)oPrinter:Say(10,10,"textoparavisualizao",oFont1,1400,CLR_HRED)

    SayAlign

    Criaumobjetodotipotexto,permitindoalinhamentoHorizontaleVertical.

    Sintaxe

    FWMsPrinter():SayAlign(,,,[oFont],[nWidth],[nHeigth],[nClrText],[nAlignHorz],[nAlignVert])>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nRow Numrico Indicaacoordenadaverticalempixelsoucaracteres. X

    nCol Numrico Indicaacoordenadahorizontalempixelsoucaracteres. X

    cText Caracter Indicaotextoqueserimpresso. X

    oFont Objeto IndicaoobjetodotipoTFontutilizadoparadefinirascaractersticasdafonteaplicadanaexibiodocontedodocontrolevisual.

    nWidth Numrico Indicaalarguraempixelsdoobjeto.

    nHeigth Numrico Indicaaalturaempixelsdoobjeto.

    nClrText Numrico Indicaacordotextodoobjeto.

    nAlignHorz Numrico AlinhamentoHorizontal.Paramaisinformaessobreosalinhamentosdisponveis,consulteareaObservaes.

    nAlignVert Numrico AlinhamentoVertical.Paramaisinformaessobreosalinhamentosdisponveis,consulteareaObservaes.

    Observaes

    Tabeladecdigosdealinhamentohorizontal.0Alinhamentoesquerda1Alinhamentodireita2Alinhamentocentralizado

    Tabeladecdigosdealinhamentovertical.0Alinhamentocentralizado1Alinhamentosuperior2Alinhamentoinferior

    Exemplos

    oFont1:=TFont():New('Couriernew',,18,.T.)oPrinter:SayAlign(10,10,"Textoparavisualizao",oFont1,1400,200,CLR_HRED,0,2)

    SayBitmap

    Insereumaimagemnorelatrio.

    Sintaxe

    FWMsPrinter():SayBitmap(,,,[nWidth],[nHeight])>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nRow Numrico Indicaacoordenadaverticalempixelsoucaracteres. X

    nCol Numrico Indicaacoordenadahorizontalempixelsoucaracteres. X

    cBitmap Caracter Indicaodiretrioeonome,comextensoBMP(Bitmap),daimagem. X

    nWidth Numrico Indicaalarguraempixelsdoobjeto.Default100.

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 12/15

    nHeight Numrico Indicaaalturaempixelsdoobjeto.Default100.

    ObservaesAimagemajustadaparapreenchertodooespaodefinidoentreaalturaelarguradoobjeto.

    Exemplos

    oPrinter:SayBitmap(100,200,"C:\Dir\totvs.bmp",800,800)

    SetDevice

    Selecionaodispositivodeimpressao

    Sintaxe

    FWMsPrinter():SetDevice()>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nDevice Numrico TiposdeSadaaceitos:IMP_SPOOLEnviaparaimpressora.IMP_PDFGeraarquivoPDFpartirdorelatrio.DefaultIMP_SPOOL

    X

    Observaesnull

    Exemplos

    oPrint:SetDevice(IMP_SPOOL)

    SetFont

    Defineofonteaserutilizadonorelatrio.

    Sintaxe

    FWMsPrinter():SetFont()>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    oFont Objeto ObjetodotipoTFont. X

    Observaesnull

    Exemplos

    oFont1:=TFont():New('Couriernew',,18,.T.)oPrinter:SetFont(oFont1)

    SetLandscape

    Defineaorientaodorelatriocomopaisagem(Landscape).

    Sintaxe

    FWMsPrinter():SetLandscape()>

    Observaes

    Exemplos

    oPrinter:SetLandscape()

    SetMargin

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 13/15

    Defineamargemdorelatrio.

    Sintaxe

    FWMsPrinter():SetMargin(,,,)>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nLeft Numrico Margemesquerda X

    nTop Numrico Margemsuperior X

    nRight Numrico Margemdireita X

    nBottom Numrico Margeminferior X

    Observaesnull

    Exemplos

    oPrinter:SetMargin(10,10,10,10)

    SetPaperSize

    Defineotamanhoqueseradotadopelapginaaserimpressa.

    Sintaxe

    FWMsPrinter():SetPaperSize(,[nHeight],[nWidth])>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nPaperSize Numrico Indicaotamanhoqueserutilizadonopapel.Paramaisinformaesdostiposdetamanhodisponveis,consulteareaObservaes.

    X

    nHeight Numrico Alturadapgina.

    nWidth Numrico Larguradapgina.

    Observaes0Tamanhocustomizavelpelousuario,informadoemnHeight/nWidth.AplicavelapenasemimpressoesdotipoPDF.1Letter216mmx279mm637x8233Tabloid279mmx432mm823x12757Executive184mmx267mm543x7888A3297mmx420mm876x12409A4210mmx297mm620x876

    Exemplos

    oPrinter:setPaperSize(9)

    SetPortrait

    Defineaorientaodorelatriocomoretrato(Portrait).

    Sintaxe

    FWMsPrinter():SetPortrait()>

    Observaes

    Exemplos

    oPrinter:SetPortrait()

    SetResolution

    Defineresoluodorelatrio.

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 14/15

    Sintaxe

    FWMsPrinter():SetResolution([nResolution])>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    nResolution Numrico Resoluodorelatrio.Default72

    ObservaesAtualmenteaversodaTotvsprintersomentetrabalhacomovalorfixode72.Portantonodevesetaroutrovalor.

    Exemplos

    oPrinter:Resolution()

    Setup

    Apresentaajaneladeconfiguraodeimpressoras.

    Sintaxe

    FWMsPrinter():Setup()>

    Observaes

    Exemplos

    oPrinter:Setup()

    SetViewPDF

    QuandootipodeimpressoforPDF,defineseoarquivoserexibidoapsaimpresso.

    Sintaxe

    FWMsPrinter():SetViewPDF()>

    Parmetros

    Nome Tipo Descrio Obrigatrio Referncia

    lViewPDF Lgico .T.paraexibiroPDFapsaimpresso. X

    ObservaesEstemtodoestardisponvelempacotedelib,noqualofonteFWMSPrinter.PRWtenhaadatasuperiorouiguala08/09/2011.

    Exemplos

    //paranoapresentaroPDFapsageraodorelatrio.oPrinter:SetViewPDF(.F.)

    StartPage

    Iniciaaimpressodeumanovapgina

    Sintaxe

    FWMsPrinter():StartPage()>

    Observaes

    Exemplos

    oPrinter:StartPage()

    Propriedade

  • 05/07/2015 FWMsPrinterLinhaMicrosigaProtheusTDN

    http://tdn.totvs.com/display/public/mp/FWMsPrinter 15/15

    Propriedade Descrio Tipo

    aImages Listadeimagensdorelatrio. Vetor

    cFileName Nomedoarquivoasergerado. Caracter

    cFilePrint Arquivoqueconterobinriodorelatrio. Caracter

    cPathPDF PathdoarquivoPDF. Caracter

    cPathPrint Nomedodiretrioondeorelatriosergerado. Caracter

    cPrinter Nomedaimpressoraparaimpressodorelatrio. Caracter

    cSession Informaesdeconfiguraodaimpressora. Caracter

    IsFirstPage Determinaseaprimeirapginadorelatrio. ArrayofRecord

    lCanceled Defineseorelatriofoicancelado. Lgico

    lInJob DeterminaseorelatrioestsendoexecutadoviaJob. Lgico

    lServer IndicaimpressoviaServer(.RELNosercopiadoparaoClient). Lgico

    lTReport IndicaqueorelatriofoichamadopeloTReport. Lgico

    lViewPDF IndicaseoarquivoserexibidoapsaimpressoemPDF. Lgico

    nDevice Dispositivodeimpresso. Numrico

    nModalResult RetornaoModalResultdoSetup,paraqueousuriotrateainformao Numrico

    nPageCount Quantidadedepginasdorelatrio. Numrico

    nPageHeight Alturadapgina. Numrico

    nPageWidth Larguradapgina. Numrico

    nPaperSize Tamanhodafolhadorelatrio. Numrico

    oFontAtu Fontedorelatrio. Objeto

    oPrint Objetodeimpresso. Objeto

    Observaes