Source
import.css=/download/attachments/327912/newLayout.css
Colapse ALL
Expand ALL
Classe: FWMsPrinter
Cria um objeto que permite visualizar e imprimir relatório.
Hierarquia
Construtores
New
New
Método construtor da classe.
Sintaxe
FWMsPrinter(): New ( < cFilePrintert >, [ nDevice], [ lAdjustToLegacy], [ cPathInServer], [ lDisabeSetup ], [ lTReport], [ @oPrintSetup], [ cPrinter], [ lServer], [ lPDFAsPNG], [ lRaw], [ lViewPDF
Parâmetros
Retorno
oPrinter
()
Retorna o objeto criado.
Observações
Exemplos
lAdjustToLegacy := .F. lDisableSetup := .T.oPrinter := FWMSPrinter():New("Danfe.rel", IMP_PDF, lAdjustToLegacy, , lDisableSetup)// Ordem o
Métodos
Box
Box
Insere um retângulo no relatório.
Sintaxe
FWMsPrinter(): Box ( < nRow>, < nCol>, < nBottom>, < nRight>, [ cPixel] ) >
Parâmetros
Observações
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 1/12
26/06/2015 View Source
Exemplos
oPrinter:Box( 130, 10, 600, 900, "4")
Cancel
Cancel
Define cancelamento do relatorio.
Sintaxe
FWMsPrinter(): Cancel ( ) >
Observações
Exemplos
oPrinter:Cancel()
Canceled
Canceled
Retorna estado do relatório.
Sintaxe
FWMsPrinter(): Canceled ( ) > lRet
Retorno
lRet
()
Retorna se o relatório foi cancelado pelo método Cancel().
Observações
Exemplos
oPrinter:Canceled()
Cmtr2Pix
Cmtr2Pix
Devolve por referência, o valor convertido em pixels de uma coluna e uma linha.
Sintaxe
FWMsPrinter(): Cmtr2Pix ( [ nLinha], [ nCol] ) >
Parâmetros
Observações
Exemplos
nCol1 := 10nRow1 := 10oPrinter:Cmtr2Pix( nCol1, nRow1)//Resultado//nCol1 := 1107.08955224//nRow1 := 1107.26600985
Code128C
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.
Sintaxe
FWMsPrinter(): Code128C ( < nRow>, < nCol>, < cCodeBar>, < nSizeBar> ) >
Parâmetros
Observações
Exemplos
#Include "PROTHEUS.CH"#Include "RPTDEF.CH" #INCLUDE "TBICONN.CH"User Function Code128C()Local oPrinter PREPARE ENVIRONMENT EMPRESA "01" F
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
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 2/12
26/06/2015 View Source
FWMsPrinter():FWMsBar(cTypeBar,nRow,nCol,cCode,oPrint,lCheck,Color,lHorz, nWidth,nHeigth,lBanner,cFont,cMode,lPrint,nPFWidth,nPFHeigth,lCmtr2Pix)>
Parâmetros
Observações
Este método utilizase 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
oPrinter:FWMSBAR("EAN13" /*cTypeBar*/,5/*nRow*/ ,1/*nCol*/ ,cCodEAN /*cCode*/,oPrinter/*oPrint*/,/*lCheck*/,/*Color*/,/*lHorz*/, /*nWidth*
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.
Sintaxe
FWMsPrinter(): DataMatrix ( < nCol>, < nRow>, < cCodeBar>, < nSizeBar> ) >
Parâmetros
Observações
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 lei
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 3/12
26/06/2015 View Source
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.
Exemplos
#Include "PROTHEUS.CH"#Include "RPTDEF.CH" #INCLUDE "TBICONN.CH"User Function DataMatrix()Local oPrinter PREPARE ENVIRONMENT EMPRESA "99"
Ellipse
Ellipse
Insere uma elipse no relatório.
Sintaxe
FWMsPrinter(): Ellipse ( < nLeft>, < nTop>, < nBottom>, < nRigth>, [ nColorIn], [ nColorOut], [ nLineType], [ cPixel] ) >
Parâmetros
Observações
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
Exemplos
oPrinter:Ellipse( 10, 10, 100, 100, CLR_BLACK, CLR_BLACK, 0, “2”)
EndPage
EndPage
Indica o fim da página.
Sintaxe
FWMsPrinter(): EndPage ( ) >
Observações
Exemplos
oPrinter:EndPage()
FillRect
FillRect
Cria um objeto do tipo retângulo, que pode ser preenchido com uma determinada cor.
Sintaxe
FWMsPrinter(): FillRect ( < aCoords>, [ oBrush], [ cPixel] ) >
Parâmetros
Observações
Exemplos
oBrush1 := TBrush():New( , CLR_YELLOW)oPrinter:Fillrect( {100, 10, 200, 200 }, oBrush1, "2")
GetFontWidths
GetFontWidths
Retorna a largura dos caracteres de uma determinada fonte
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 4/12
26/06/2015 View Source
Sintaxe
FWMsPrinter(): GetFontWidths ( [ oFont], [ @aFontSize] ) > aRet
Parâmetros
Retorno
aRet
()
Vetor passado por referencia que recebera a lista de largura da fonte selecionada
Observações
null
GetOrientation
GetOrientation
Retorna a orientação (Retrato ou Paisagem) do objeto.
Sintaxe
FWMsPrinter(): GetOrientation ( ) > nOrientation
Retorno
nOrientation
()
Retorna orientação do relatório. Para mais informações sobre os retornos que podem ser apresentados, consulte a área Observações.
Observações
nOrientation
Tabela com os valores de retorno.
0 Ainda não definido pelo usuário;
1 Portrait(retrato);
2 Landscape(paisagem)
Exemplos
oPrinter:GetOrientation()
GetTextHeight
GetTextHeight
Retorna a altura do texto, conforme as características da fonte definida.
Sintaxe
FWMsPrinter(): GetTextHeight ( < cTexto>, < oFont> ) > nHeight
Parâmetros
Retorno
nHeight
()
Retorna a altura do texto.
Observações
Exemplos
oFont1 := TFont():New( 'Courier New', , 18, .T.)nHeight := oPrinter:GetTextheight( "Teste", oFont1)
GetTextWidth
GetTextWidth
Retorna a largura do texto, conforme as características da fonte definida.
Sintaxe
FWMsPrinter(): GetTextWidth ( < cTexto>, < oFont> ) > nWidth
Parâmetros
Retorno
nWidth
()
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 5/12
26/06/2015 View Source
Retorna a largura do texto.
Observações
null
Exemplos
oFont1 := TFont():New( 'Courier New', , 18, .T.)nWidht := oPrinter:GetTextWidth( "Teste", oFont1)
GetViewPDF
GetViewPDF
Quando o tipo de impressão for PDF, retorna se o arquivo será exibido após a impressão.
Sintaxe
FWMsPrinter(): GetViewPDF ( ) > lViewPDF
Retorno
lViewPDF
(logico)
.T. para exibir o relatório após a impressão.
Observações
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.
Exemplos
oPrinter:GetViewPDF()
IsPrinterActive
IsPrinterActive
Retorna se a impressora está ativa.
Sintaxe
FWMsPrinter(): IsPrinterActive ( ) >
Observações
Exemplos
oPrinter:IsPrinterActive()
Line
Line
Insere uma linha no relatório.
Sintaxe
FWMsPrinter(): Line ( < nTop>, < nLeft>, < nBottom>, < nRight>, [ nColor], [ cPixel] ) >
Parâmetros
Observações
Exemplos
oPrinter:Line( 130, 10, 130, 900, "4")
nHorzRes
nHorzRes
Retorna a resolução horizontal da impressora configurada.
Sintaxe
FWMsPrinter(): nHorzRes ( ) > nResult
Retorno
nResult
()
Retorna a resolução horizontal da impressora configurada.
Observações
Exemplos
oPrinter:nHorzRes()
nHorzSize
nHorzSize
Retorno largura da página.
Sintaxe
FWMsPrinter(): nHorzSize ( ) > nHorzSize
Retorno
nHorzSize
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 6/12
26/06/2015 View Source
()
Largura da página
Observações
null
Exemplos
oPrinter:nHorzSize()
nLogPixelX
nLogPixelX
Retorna a resolução vertical, em pixels, da impressora configurada.
Sintaxe
FWMsPrinter(): nLogPixelX ( ) > nResult
Retorno
nResult
()
Retorna a resolução vertical em pixels da impressora configurada.
Observações
Exemplos
oPrinter:nLogPixelX()
nLogPixelY
nLogPixelY
Retorna a resolução horizontal, em pixels, da impressora configurada.
Sintaxe
FWMsPrinter(): nLogPixelY ( ) > nResult
Retorno
nResult
()
Retorna a resolução horizontal em pixels da impressora configurada.
Observações
Exemplos
oPrinter:nLogPixelY()
nVertRes
nVertRes
Retorna a resolução vertical da impressora configurada.
Sintaxe
FWMsPrinter(): nVertRes ( ) > nResult
Retorno
nResult
()
Retorna a resolução vertical da impressora configurada.
Observações
Exemplos
oPrinter:nVertRes()
nVertSize
nVertSize
Retorno altura da página.
Sintaxe
FWMsPrinter(): nVertSize ( ) > nVertSize
Retorno
nVertSize
()
Altura da página.
Observações
Exemplos
oPrinter:nVertSize()
PaperSize
PaperSize
Retorna o tamanho do papel.
Sintaxe
FWMsPrinter(): PaperSize ( ) > nPaperSize
Retorno
nPaperSize
()
Tamanho do papel.
Observações
null
Exemplos
oPrinter:PaperSize()
Preview
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 7/12
26/06/2015 View Source
Preview
Abre a janela de visualização do relatório.
Sintaxe
FWMsPrinter(): Preview ( ) >
Observações
Exemplos
oPrinter:Preview()
Print
Print
Envia o relatório para impressora.
Sintaxe
FWMsPrinter(): Print ( ) >
Observações
Exemplos
oPrinter:Print()
PrinterName
PrinterName
Retorna o nome da impressora.
Sintaxe
FWMsPrinter(): PrinterName ( ) > cImpressora
Retorno
cImpressora
(caracter)
Nome da impressora.
Observações
A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.
Exemplos
oPrinter:PrinterName()
QRCode
QRCode
Imprime codigo de barra no padrão QRCode
Sintaxe
FWMsPrinter(): QRCode ( < nCol>, < nRow>, < cCodeBar>, < nSizeBar> ) >
Parâmetros
Observações
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 lei
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.
Exemplos
#Include "PROTHEUS.CH"#Include "RPTDEF.CH" #INCLUDE "TBICONN.CH"User Function QRCode()Local oPrinter PREPARE ENVIRONMENT EMPRESA "99" FIL
Say
Say
Insere um texto no relatório.
Sintaxe
FWMsPrinter(): Say ( < nRow>, < nCol>, < cText>, [ oFont], [ nWidth], [ nClrText], [ nAngle] ) >
Parâmetros
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 8/12
26/06/2015 View Source
oFont Objeto Indica o objeto do tipo TFont utilizado para definir as características da fonte aplicada na exibição do conteúdo do controle visual.
Observações
A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.
Exemplos
oFont1 := TFont():New( "Courier New", , 18, .T.)oPrinter:Say( 10, 10, "texto para visualização", oFont1, 1400, CLR_HRED)
SayAlign
SayAlign
Cria um objeto do tipo texto, permitindo alinhamento Horizontal e Vertical.
Sintaxe
FWMsPrinter(): SayAlign ( < nRow>, < nCol>, < cText>, [ oFont], [ nWidth], [ nHeigth], [ nClrText], [ nAlignHorz], [ nAlignVert ] ) >
Parâmetros
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
Exemplos
oFont1 := TFont():New('Courier new',,18,.T.)oPrinter:SayAlign( 10,10,"Texto para visualização",oFont1,1400, 200, CLR_HRED, 0, 2 )
SayBitmap
SayBitmap
Insere uma imagem no relatório.
Sintaxe
FWMsPrinter(): SayBitmap ( < nRow>, < nCol>, < cBitmap>, [ nWidth], [ nHeight] ) >
Parâmetros
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 9/12
26/06/2015 View Source
Observações
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.
Exemplos
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
SetDevice
Seleciona o dispositivo de impressao
Sintaxe
FWMsPrinter(): SetDevice ( < nDevice> ) >
Parâmetros
Observações
null
Exemplos
oPrint:SetDevice(IMP_SPOOL)
SetFont
SetFont
Define o fonte a ser utilizado no relatório.
Sintaxe
FWMsPrinter(): SetFont ( < oFont> ) >
Parâmetros
Observações
null
Exemplos
oFont1 := TFont():New('Courier new',,18,.T.)oPrinter:SetFont(oFont1)
SetLandscape
SetLandscape
Define a orientação do relatório como paisagem (Landscape).
Sintaxe
FWMsPrinter(): SetLandscape ( ) >
Observações
Exemplos
oPrinter:SetLandscape()
SetMargin
SetMargin
Define a margem do relatório.
Sintaxe
FWMsPrinter(): SetMargin ( < nLeft>, < nTop>, < nRight>, < nBottom> ) >
Parâmetros
Observações
null
Exemplos
oPrinter:SetMargin(10,10,10,10)
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 10/12
26/06/2015 View Source
SetPaperSize
SetPaperSize
Define o tamanho que será adotado pela página a ser impressa.
Sintaxe
FWMsPrinter(): SetPaperSize ( < nPaperSize>, [ nHeight], [ nWidth] ) >
Parâmetros
Observações
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
Exemplos
oPrinter:setPaperSize(9)
SetPortrait
SetPortrait
Define a orientação do relatório como retrato (Portrait).
Sintaxe
FWMsPrinter(): SetPortrait ( ) >
Observações
Exemplos
oPrinter:SetPortrait()
SetResolution
SetResolution
Define resolução do relatório.
Sintaxe
FWMsPrinter(): SetResolution ( [ nResolution] ) >
Parâmetros
Observações
Atualmente a versão da Totvsprinter somente trabalha com o valor fixo de 72. Portanto não deve setar outro valor.
Exemplos
oPrinter:Resolution()
Setup
Setup
Apresenta a janela de configuração de impressoras.
Sintaxe
FWMsPrinter(): Setup ( ) >
Observações
Exemplos
oPrinter:Setup()
SetViewPDF
SetViewPDF
Quando o tipo de impressão for PDF, define se o arquivo será exibido após a impressão.
Sintaxe
FWMsPrinter(): SetViewPDF ( < lViewPDF> ) >
Parâmetros
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 11/12
26/06/2015 View Source
lViewPDF Lógico .T. para exibir o PDF após a impressão. X
Observações
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.
Exemplos
// para não apresentar o PDF após a geração do relatório.oPrinter:SetViewPDF(.F.)
StartPage
StartPage
Inicia a impressão de uma nova página
Sintaxe
FWMsPrinter(): StartPage ( ) >
Observações
Exemplos
oPrinter:StartPage()
Propriedade
Observações
http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=6815507 12/12