import.css=/download/attachments/327912/newLayout.css

Classe: FWMsPrinter

Cria um objeto que permite visualizar e imprimir relatório.


New

Método construtor da classe.


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


 

NomeTipoDescriçãoObrigatórioReferência
cFilePrintert CaracterNome do arquivo de relatório a ser criado.X 
nDeviceNuméricoTipos de Saída aceitos:IMP_SPOOL Envia para impressora.IMP_PDF Gera arquivo PDF à partir do relatório.Default é IMP_SPOOL  
lAdjustToLegacyLógicoSe .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.  
cPathInServerCaracterDiretório onde o arquivo de relatório será salvo  
lDisabeSetup LógicoSe .T. não exibe a tela de Setup, ficando à cargo do programador definir quando e se será feita sua chamada. Default é .F.  
lTReportLógicoIndica que a classe foi chamada pelo TReport. Default é .F.  
oPrintSetupObjetoObjeto FWPrintSetup instanciado pelo usuário. X
cPrinterCaracterImpressora destino "forçada" pelo usuário. Default é ""  
lServerLógicoIndica impressão via Server (.REL Não será copiado para o Client). Default é .F.  
lPDFAsPNGLógico.T. Indica que será gerado o PDF no formato PNG. O Default é .T.  
lRawLó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)  
lViewPDFLógicoQuando o tipo de impressão for PDF, define se arquivo será exibido após a impressão. O default é .T.  
nQtdCopyNuméricoDefine 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: Aplica-se apenas a ambientes que possuam o fonte FwMsPrinter.prw com data igual ou superior a 03/05/2012.  

 

oPrinter
    ()
  • Retorna o objeto criado.


lAdjustToLegacy := .F. lDisableSetup  := .T.oPrinter := FWMSPrinter():New("Danfe.rel", IMP_PDF, lAdjustToLegacy, , lDisableSetup)// Ordem obrigátoria de configuração do relatóriooPrinter:SetResolution(72)oPrinter:SetPortrait()oPrinter:SetPaperSize(DMPAPER_A4) oPrinter:SetMargin(60,60,60,60) // nEsquerda, nSuperior, nDireita, nInferior oPrinter:cPathPDF := "c:\directory\" // Caso seja utilizada impressão em IMP_PDF

Box

Insere um retângulo no relatório.


FWMsPrinter(): Box ( < nRow>, < nCol>, < nBottom>, < nRight>, [ cPixel] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nRowNuméricoIndica a coordenada vertical em pixels.X 
nColNuméricoIndica a coordenada horizontal em pixels.X 
nBottomNuméricoIndica a posição do objeto em relação ao rodapé.X 
nRightNuméricoIndica a posição do objeto à direita.X 
cPixelCaracterExpessura da linha em pixels. Default é "-2"  

 



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

Cancel

Define cancelamento do relatorio.


FWMsPrinter(): Cancel ( ) -->



oPrinter:Cancel()

Canceled

Retorna estado do relatório.


FWMsPrinter(): Canceled ( ) --> lRet

lRet
    ()
  • Retorna se o relatório foi cancelado pelo método Cancel().


oPrinter:Canceled()

Cmtr2Pix

Devolve por referência, o valor convertido em pixels de uma coluna e uma linha.


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


 

NomeTipoDescriçãoObrigatórioReferência
nLinhaNuméricoIndica a linha que será calculada.  
nColNuméricoIndica a coluna que será calculada.  

 



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

Code128C

Imprime codigo de barra no padrão Code128C

Obs: A utilização deste metodo não é homologado para a impressão de relatorios em ambientes que utilizam sistema operacional com o recurso de "Zoom" ou "Lupa" ativo.


FWMsPrinter(): Code128C ( < nRow>, < nCol>, < cCodeBar>, < nSizeBar> ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nRowNuméricoPosição relativa ao topoX 
nColNuméricoPosição relativa à esquerdaX 
cCodeBarCaracterTexto a ser transformado em código de barraX 
nSizeBarNuméricoTamanho da fonte (código de barra)X 

 


 

#Include "PROTHEUS.CH"#Include "RPTDEF.CH" #INCLUDE "TBICONN.CH"User Function Code128C()Local oPrinter   PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01"oPrinter      := FWMSPrinter():New('teste',6,.F.,,.T.,,,,,.F.)oPrinter:Setup()oPrinter:setDevice(IMP_PDF)oPrinter:cPathPDF :="C:\"oPrinter:Say(10,0,"Teste para Code128C")	oPrinter:Code128c(100, 10, '1234567', 50)       oPrinter:EndPage()oPrinter:Preview()                                                                   FreeObj(oPrinter)oPrinter := NilRESET ENVIRONMENTReturn

FwMsBar

FwMsBar

Imprime codigo de barras suportados pela função MsBar().

Obs: A utilização deste metodo não é homologado para a impressão de relatorios em ambientes que utilizam sistema operacional com o recurso de "Zoom" ou "Lupa" ativo.

 

Sintaxe

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

 

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cTypeBar

Caracter

Código do tipo do código de barras:

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

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

X

 

nRow

Numérico

Posição relativa à esquerda

X

 

nCol

Numérico

Posição relativa ao topo

X

 

cCode

Caracter

Texto a ser transformado em código de barra

X

 

oPrint

Objeto

Objeto Printer

 

 

lCheck

Lógico

Se calcula o digito de controle. Defautl .T.

 

 

Color

Numérico

Numero da Cor, utilize a "color.ch". Default CLR_BLACK

 

 

lHorz

Lógico

Se imprime na Horizontal. Default .T.

 

 

nWidth

Numérico

Numero do Tamanho da barra. Default 0.025

 

 

nHeigth

Numérico

Numero da Altura da barra. Default 1.5

 

 

lBanner

Lógico

Se imprime a linha com o código embaixo da barra. Default .T.

 

 

cFont

Caracter

Nome do Fonte a ser utilizado. Defautl "Arial"

 

 

cMode

Caracter

Modo do codigo de barras CO. Default ""

 

 

lPrint

Lógico

Se executa o método Print() de oPrinter pela MsBar. Default .T.

 

 

nPFWidth

Numérico

Número do índice de ajuste da largura da fonte. Default 1

 

 

nPFHeigth

Numérico

Número do índice de ajuste da altura da fonte. Default 1

 

 

lCmtr2Pix

Lógico

Utiliza o método Cmtr2Pix() do objeto Printer.Default .T.

 

 

 

Observações

 Este método utiliza-se da mesma classe utilizada pela MsBar().

 

Exemplos

#INCLUDE "RPTDEF.CH"
#INCLUDE "FWPrintSetup.ch"
#INCLUDE "protheus.ch"
User Function totvsprt()
Local lAdjustToLegacy := .F.
Local lDisableSetup  := .T.
Local oPrinter
Local cLocal          := "\spool"
Local cCodINt25 := "34190184239878442204400130920002152710000053475"
Local cCodEAN :=      "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()
if oPrinter:nModalResult
== PD_OK
oPrinter:Preview()
EndIf
Return

DataMatrix

DataMatrix

Imprime codigo de barra no padrão DataMatrix

Obs: A utilização deste metodo não é homologado para a impressão de relatorios em ambientes que utilizam sistema operacional com o recurso de "Zoom" ou "Lupa" ativo.


FWMsPrinter(): DataMatrix ( < nCol>, < nRow>, < cCodeBar>, < nSizeBar> ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nColNuméricoPosição relativa à esquerdaX 
nRowNuméricoPosição relativa ao topoX 
cCodeBarCaracterTexto a ser codificadoX 
nSizeBarNuméricoTamanho do codigo de barrasX 

 


  Esta opção esta disponivel para TotvsPrinter.exe em versões superiores à 1.3.0.  Para confirmação da versão utilize na linha de comando: totvsprinter -v.

O código de barras será gerado com seu tamanho natural, que pode variar de acordo com a quantidade de caracteres codificados.
No entanto, é importante ressaltar que a imagem do código de barras não pode ser redimensionada para um tamanho inferior ao natural, porque pode ficar corrompida, comprometendo a sua leitura. Sendo assim, é possível apenas passar um tamanho superior, para que a imagem seja escalada corretamente.

Os códigos de barras 2D possuem os seguintes limites da quantidade de caracteres:
• Data Matrix: No máximo 1200 caracteres;
• QR Code: Aproximadamente 2930 caracteres.


#Include "PROTHEUS.CH"#Include "RPTDEF.CH" #INCLUDE "TBICONN.CH"User Function DataMatrix()Local oPrinter   PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01"oPrinter      := FWMSPrinter():New('teste',6,.F.,,.T.,,,,,.F.)oPrinter:Setup()oPrinter:setDevice(IMP_PDF)oPrinter:cPathPDF :="C:\"oPrinter:Say(180,0,"Teste para DataMatrix")oPrinter:DataMatrix(0,300,"DataMatrix gerado com sucesso", 100)	       oPrinter:EndPage()oPrinter:Preview()                                                                   FreeObj(oPrinter)oPrinter := NilRESET ENVIRONMENTReturn

Ellipse

Insere uma elipse no relatório.


FWMsPrinter(): Ellipse ( < nLeft>, < nTop>, < nBottom>, < nRigth>, [ nColorIn], [ nColorOut], [ nLineType], [ cPixel] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nLeftNuméricoIndica a coordenada horizontal em pixels.X 
nTopNuméricoIndica a coordenada ao topo em pixels.X 
nBottomNuméricoIndica a posição do objeto em relação ao rodapé.X 
nRigthNuméricoIndica a posição do objeto à direita.X 
nColorInNuméricoCor do preenchimento do elipse. Default CLR_BLACK.  
nColorOutNuméricoCor da linha do elipse. Default CLR_BLACK  
nLineTypeNuméricoEstilo da linha. Default 0. Para mais informações sobre os tipos disponíveis, consulte a área Observações.  
cPixelCaracterPixel no formato caractere exemplo “02”, caso necessário us de decimais utilize “-2” para 0,2 Pixels.  

 


nLineType

Tabelas com as opções de linha disponíveis.

  • 0 - Solid Line;
  • 1 - Dash Line;
  • 2 - Dash Dot Line;
  • 3 - Dash Dot Dot Line;
  • 4 - Dot Line;
  • 5 - Custom Dash Line

oPrinter:Ellipse( 10, 10, 100, 100, CLR_BLACK, CLR_BLACK, 0, “-2”)

EndPage

Indica o fim da página.


FWMsPrinter(): EndPage ( ) -->



oPrinter:EndPage()

FillRect

Cria um objeto do tipo retângulo, que pode ser preenchido com uma determinada cor.


FWMsPrinter(): FillRect ( < aCoords>, [ oBrush], [ cPixel] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
aCoordsVetorVetor de coordenadas {nTop,nLeft,nBottom,nRight}X 
oBrushObjetoIndica o objeto do tipo TBrush utilizado para definir a cor de preenchimento do shape e responsável pelo preenchimento do retângulo.  
cPixelCaracterExpessura da linha em pixels. Default é "-2"  

 



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

GetFontWidths

Retorna a largura dos caracteres de uma determinada fonte


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


 

NomeTipoDescriçãoObrigatórioReferência
oFontObjetoObjeto do tipo fonte  
aFontSizeArray of RecordVetor passado por referencia que recebera a lista de largura da fonte selecionada X

 

aRet
    ()
  • Vetor passado por referencia que recebera a lista de largura da fonte selecionada

null

GetOrientation

Retorna a orientação (Retrato ou Paisagem) do objeto.


FWMsPrinter(): GetOrientation ( ) --> nOrientation

nOrientation
    ()
  • Retorna orientação do relatório. Para mais informações sobre os retornos que podem ser apresentados, consulte a área Observações.

nOrientation

Tabela com os valores de retorno.

  • 0 - Ainda não definido pelo usuário;
  • 1 - Portrait(retrato);
  • 2 - Landscape(paisagem)

oPrinter:GetOrientation()

GetTextHeight

Retorna a altura do texto, conforme as características da fonte definida.


FWMsPrinter(): GetTextHeight ( < cTexto>, < oFont> ) --> nHeight


 

NomeTipoDescriçãoObrigatórioReferência
cTextoCaracterIndica o texto que será calculado.X 
oFontObjetoIndica o objeto do tipo TFont, utilizado para definir as características da fonte e realizar o cálculo.X 

 

nHeight
    ()
  • Retorna a altura do texto.


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

GetTextWidth

Retorna a largura do texto, conforme as características da fonte definida.


FWMsPrinter(): GetTextWidth ( < cTexto>, < oFont> ) --> nWidth


 

NomeTipoDescriçãoObrigatórioReferência
cTextoCaracterIndica o texto que será calculado.X 
oFontObjetoIndica o objeto do tipo TFont, utilizado para definir as características da fonte e realizar o cálculo.X 

 

nWidth
    ()
  • Retorna a largura do texto.

null

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

GetViewPDF

Quando o tipo de impressão for PDF, retorna se o arquivo será exibido após a impressão.


FWMsPrinter(): GetViewPDF ( ) --> lViewPDF

lViewPDF
    (logico)
  • .T. para exibir o relatório após a impressão.

Este método estará disponível em pacote de lib, no qual o fonte FWMSPrinter.PRW tenha a data superior ou igual a 08/09/2011.

oPrinter:GetViewPDF()

IsPrinterActive

Retorna se a impressora está ativa.


FWMsPrinter(): IsPrinterActive ( ) -->



oPrinter:IsPrinterActive()

Line

Insere uma linha no relatório.


FWMsPrinter(): Line ( < nTop>, < nLeft>, < nBottom>, < nRight>, [ nColor], [ cPixel] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nTopNuméricoIndica a coordenada vertical em pixels.X 
nLeftNuméricoIndica a coordenada horizontal em pixels.X 
nBottomNuméricoIndica a posição do objeto ao rodapé.X 
nRightNuméricoIndica a posição do objeto à direita.X 
nColorNuméricoCor da linha. Default é 0  
cPixelCaracterExpessura da linha em pixels. Default é "-2"  

 



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

nHorzRes

Retorna a resolução horizontal da impressora configurada.


FWMsPrinter(): nHorzRes ( ) --> nResult

nResult
    ()
  • Retorna a resolução horizontal da impressora configurada.


oPrinter:nHorzRes()

nHorzSize

Retorno largura da página.


FWMsPrinter(): nHorzSize ( ) --> nHorzSize

nHorzSize
    ()
  • Largura da página

null

oPrinter:nHorzSize()

nLogPixelX

Retorna a resolução vertical, em pixels, da impressora configurada.


FWMsPrinter(): nLogPixelX ( ) --> nResult

nResult
    ()
  • Retorna a resolução vertical em pixels da impressora configurada.


oPrinter:nLogPixelX()

nLogPixelY

Retorna a resolução horizontal, em pixels, da impressora configurada.


FWMsPrinter(): nLogPixelY ( ) --> nResult

nResult
    ()
  • Retorna a resolução horizontal em pixels da impressora configurada.


oPrinter:nLogPixelY()

nVertRes

Retorna a resolução vertical da impressora configurada.


FWMsPrinter(): nVertRes ( ) --> nResult

nResult
    ()
  • Retorna a resolução vertical da impressora configurada.


oPrinter:nVertRes()

nVertSize

Retorno altura da página.


FWMsPrinter(): nVertSize ( ) --> nVertSize

nVertSize
    ()
  • Altura da página.


oPrinter:nVertSize()

PaperSize

Retorna o tamanho do papel.


FWMsPrinter(): PaperSize ( ) --> nPaperSize

nPaperSize
    ()
  • Tamanho do papel.

null

oPrinter:PaperSize()

Preview

Abre a janela de visualização do relatório.


FWMsPrinter(): Preview ( ) -->



oPrinter:Preview()

Print

Envia o relatório para impressora.


FWMsPrinter(): Print ( ) -->



oPrinter:Print()

PrinterName

Retorna o nome da impressora.


FWMsPrinter(): PrinterName ( ) --> cImpressora

cImpressora
    (caracter)
  • Nome da impressora.

A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.


oPrinter:PrinterName()

QRCode

Imprime codigo de barra no padrão QRCode


FWMsPrinter(): QRCode ( < nRow>, < nCol>, < cCodeBar>, < nSizeBar> ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nRowNuméricoPosição relativa ao topoX 
nColNuméricoPosição relativa à esquerdaX 
cCodeBarCaracterTexto a ser codificadoX 
nSizeBarNuméricoTamanho do codigo de barrasX 

 


 Esta opção esta disponivel para TotvsPrinter.exe em versões superiores à 1.3.0.  Para confirmação da versão utilize na linha de comando: totvsprinter -v.

O código de barras será gerado com seu tamanho natural, que pode variar de acordo com a quantidade de caracteres codificados.
No entanto, é importante ressaltar que a imagem do código de barras não pode ser redimensionada para um tamanho inferior ao natural, porque pode ficar corrompida, comprometendo a sua leitura. Sendo assim, é possível apenas passar um tamanho superior, para que a imagem seja escalada corretamente.

Os códigos de barras 2D possuem os seguintes limites da quantidade de caracteres:
• Data Matrix: No máximo 1200 caracteres;
• QR Code: Aproximadamente 2930 caracteres.


#Include "PROTHEUS.CH"#Include "RPTDEF.CH" #INCLUDE "TBICONN.CH"User Function QRCode()Local oPrinter   PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01"oPrinter      := FWMSPrinter():New('teste',6,.F.,,.T.,,,,,.F.)oPrinter:Setup()oPrinter:setDevice(IMP_PDF)oPrinter:cPathPDF :="C:\"oPrinter:Say(40,0,"Teste para QRCode")oPrinter:QRCode(0,150,"QR Code gerado com sucesso", 100)       oPrinter:EndPage()oPrinter:Preview()                                                                   FreeObj(oPrinter)oPrinter := NilRESET ENVIRONMENTReturn

Say

Insere um texto no relatório.


FWMsPrinter(): Say ( < nRow>, < nCol>, < cText>, [ oFont], [ nWidth], [ nClrText], [ nAngle] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nRowNuméricoIndica a coordenada vertical em pixels ou caracteres.X 
nColNuméricoIndica a coordenada horizontal em pixels ou caracteres.X 
cTextCaracterTexto a ser impresso.X 
oFontObjetoIndica o objeto do tipo TFont utilizado para definir as características da fonte aplicada na exibição do conteúdo do controle visual.  
nWidthNuloIndica a largura em pixels do objeto.  
nClrTextNuméricoIndica a cor do texto do objeto.  
nAngleNuméricoÂngulo de rotação do texto.  

 


A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.


oFont1 := TFont():New( "Courier New", , -18, .T.)oPrinter:Say( 10, 10, "texto para visualização", oFont1, 1400, CLR_HRED)

SayAlign

Cria um objeto do tipo texto, permitindo alinhamento Horizontal e Vertical.


FWMsPrinter(): SayAlign ( < nRow>, < nCol>, < cText>, [ oFont], [ nWidth], [ nHeigth], [ nClrText], [ nAlignHorz], [ nAlignVert ] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nRowNuméricoIndica a coordenada vertical em pixels ou caracteres.X 
nColNuméricoIndica a coordenada horizontal em pixels ou caracteres.X 
cTextCaracterIndica o texto que será impresso.X 
oFontObjetoIndica o objeto do tipo TFont utilizado para definir as características da fonte aplicada na exibição do conteúdo do controle visual.  
nWidthNuméricoIndica a largura em pixels do objeto.  
nHeigthNuméricoIndica a altura em pixels do objeto.  
nClrTextNuméricoIndica a cor do texto do objeto.  
nAlignHorzNuméricoAlinhamento Horizontal. Para mais informações sobre os alinhamentos disponíveis, consulte a área Observações.  
nAlignVert NuméricoAlinhamento Vertical. Para mais informações sobre os alinhamentos disponíveis, consulte a área Observações.  

 


nAlignHorz

Tabela de códigos de alinhamento horizontal.

  • 0 - Alinhamento à esquerda;
  • 1 - Alinhamento à direita;
  • 2 - Alinhamento centralizado

 

nAlignVert

Tabela de códigos de alinhamento vertical.

  • 0 - Alinhamento centralizado;
  • 1 - Alinhamento superior;
  • 2 - Alinhamento inferior

oFont1 := TFont():New('Courier new',,-18,.T.)oPrinter:SayAlign( 10,10,"Texto para visualização",oFont1,1400, 200, CLR_HRED, 0, 2 )

SayBitmap

Insere uma imagem no relatório.


FWMsPrinter(): SayBitmap ( < nRow>, < nCol>, < cBitmap>, [ nWidth], [ nHeight] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nRowNuméricoIndica a coordenada vertical em pixels ou caracteres.X 
nColNuméricoIndica a coordenada horizontal em pixels ou caracteres.X 
cBitmapCaracterIndica o diretório e o nome, com extensão BMP (Bitmap), da imagem.X 
nWidthNuméricoIndica a largura em pixels do objeto. Default é 100.  
nHeightNuméricoIndica a altura em pixels do objeto. Default é 100.  

 


A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.

A impressão de imagens maiores que 1MB e a possibilidade de utilizar arquivos locais ou compartilhados via rede estarão disponiveis à partir da totvsPrinter versão 1.5.5.

Se o relatório for executado via SERVIDOR, essa máquina deverá ter acesso aos arquivos, caso as imagens estejam no drive local da estação onde serão executadas.

oPrinter:SayBitmap( 100, 200, "C:\Dir\totvs.bmp", 800, 800)
oPrinter:SayBitMap( 100, 200, "\\maquina\public\totvs.bmp", 2000, 2000) // Acesso a arquivos via rede.

SetDevice

Seleciona o dispositivo de impressao


FWMsPrinter(): SetDevice ( < nDevice> ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nDeviceNuméricoTipos de Saída aceitos: IMP_SPOOL Envia para impressora. IMP_PDF Gera arquivo PDF à partir do relatório. Default é IMP_SPOOLX 

 


null

oPrint:SetDevice(IMP_SPOOL)

SetFont

Define o fonte a ser utilizado no relatório.


FWMsPrinter(): SetFont ( < oFont> ) -->


 

NomeTipoDescriçãoObrigatórioReferência
oFontObjetoObjeto do tipo TFont.X 

 


null

oFont1 := TFont():New('Courier new',,-18,.T.)oPrinter:SetFont(oFont1)

SetLandscape

Define a orientação do relatório como paisagem (Landscape).


FWMsPrinter(): SetLandscape ( ) -->



oPrinter:SetLandscape()

SetMargin

Define a margem do relatório.


FWMsPrinter(): SetMargin ( < nLeft>, < nTop>, < nRight>, < nBottom> ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nLeftNuméricoMargem esquerdaX 
nTopNuméricoMargem superiorX 
nRightNuméricoMargem direitaX 
nBottomNuméricoMargem inferiorX 

 


null

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

SetPaperSize

Define o tamanho que será adotado pela página a ser impressa.


FWMsPrinter(): SetPaperSize ( < nPaperSize>, [ nHeight], [ nWidth] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nPaperSizeNuméricoIndica o tamanho que será utilizado no papel. Para mais informações dos tipos de tamanho disponíveis, consulte a área Observações.X 
nHeightNuméricoAltura da página.  
nWidthNuméricoLargura da página.  

 


nPaperSize

  • 0 - Tamanho customizavel pelo usuario, informado em nHeight/nWidth. Aplicavel apenas em impressoes do tipo PDF.
  • 1 - Letter   216mm x 279mm  637 x 823
  • 3 - Tabloid  279mm x 432mm  823 x 1275
  • 7 - Executive 184mm x 267mm  543 x 788
  • 8 - A3     297mm x 420mm  876 x 1240
  • 9 - A4     210mm x 297mm  620 x 876

oPrinter:setPaperSize(9)

SetPortrait

Define a orientação do relatório como retrato (Portrait).


FWMsPrinter(): SetPortrait ( ) -->



oPrinter:SetPortrait()

SetResolution

Define resolução do relatório.


FWMsPrinter(): SetResolution ( [ nResolution] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nResolutionNuméricoResolução do relatório. Default é 72  

 


Atualmente a versão da Totvsprinter somente trabalha com o valor fixo de 72. Portanto não deve setar outro valor.

oPrinter:Resolution()

Setup

Apresenta a janela de configuração de impressoras.


FWMsPrinter(): Setup ( ) -->



oPrinter:Setup()

SetViewPDF

Quando o tipo de impressão for PDF, define se o arquivo será exibido após a impressão.


FWMsPrinter(): SetViewPDF ( < lViewPDF> ) -->


 

NomeTipoDescriçãoObrigatórioReferência
lViewPDFLógico.T. para exibir o PDF após a impressão.X 

 


Este método estará disponível em pacote de lib, no qual o fonte FWMSPrinter.PRW tenha a data superior ou igual a 08/09/2011.

// para não apresentar o PDF após a geração do relatório.oPrinter:SetViewPDF(.F.)

 

Pdf417

Imprime codigo de barra no padrão Pdf417


FWMsPrinter(): pdf417( nRow, nCol, cCodeBar, nSizeBar,nHeight ) -->


 

NomeTipoDescriçãoObrigatórioReferencia
nRowNuméricoPosição relativa ao topox 
nColNuméricoPosição relativa à esquerdax 
cCodBarCaracterTexto a ser codificadox 
nSizeBarNuméricoTamanho do codigo de barrasx 
nHeightNuméricoAltura da Barrax 

 


oPrinter:pdf417( nRow, nCol, cCodeBar, nSizeBar,nHeight )

 

StartPage

Inicia a impressão de uma nova página


FWMsPrinter(): StartPage ( ) -->



oPrinter:StartPage()

 

PropriedadeDescriçãoTipo
aImagesLista de imagens do relatório.Vetor
cFileNameNome do arquivo a ser gerado.Caracter
cFilePrintArquivo que conterá o binário do relatório.Caracter
cPathPDFPath do arquivo PDF.Caracter
cPathPrintNome do diretório onde o relatório será gerado.Caracter
cPrinterNome da impressora para impressão do relatório.Caracter
cSessionInformações de configuração da impressora.Caracter
IsFirstPageDetermina se é a primeira página do relatório.Array of Record
lCanceledDefine se o relatório foi cancelado.Lógico
lInJobDetermina se o relatório está sendo executado via Job.Lógico
lServerIndica impressão via Server (.REL Não será copiado para o Client).Lógico
lTReportIndica que o relatório foi chamado pelo TReport.Lógico
lViewPDFIndica se o arquivo será exibido após a impressão em PDF.Lógico
nDeviceDispositivo de impressão.Numérico
nModalResultRetorna o ModalResult do Setup, para que o usuário trate a informaçãoNumérico
nPageCountQuantidade de páginas do relatório.Numérico
nPageHeightAltura da página.Numérico
nPageWidthLargura da página.Numérico
nPaperSizeTamanho da folha do relatório.Numérico
oFontAtuFonte do relatório.Objeto
oPrintObjeto de impressão.Objeto