Você está na página 1de 29

TMSPrinter

Colapse ALL
Expand ALL
Classe: TMSPrinter

Cria um objeto que permite visualizar e


imprimir relatrio.
Ateno!
Este componente no suportado pelo TOTVS | SmartClient HTML.

Hierarquia
Construtores
New
New
Mtodo construtor da Classe.

Sintaxe
TMSPrinter(): New ( [ cDocument], [ uParam2], [ uParam3], [ uParam4], [ uParam5], [ uParam6], [ uParam7], [
uParam8] ) --> oObjeto

Parmetros
Nome

Tipo

Descrio

cDocument

Caracter

Indica o nome
descritivo do
relatrio.

uParam2

Lgico

Compatibilidade.

uParam3

Lgico

Compatibilidade.

uParam4

Caracter

Compatibilidade.

uParam5

Caracter

Compatibilidade.

Obrigatrio

Referncia

uParam6

Caracter

Compatibilidade.

uParam7

Lgico

Compatibilidade.

uParam8

Caracter

Compatibilidade.

Retorno
oObjeto
()
Retorna o objeto criado.

Exemplos
oPrint := TMSPrinter():New("Exemplo
TMSPrinter")
Mtodos
Box
Box
Cria um objeto do tipo retngulo.

Sintaxe
TMSPrinter(): Box ( [ nRow], [ nCol], [ nBottom], [ nRight], [ uParam5] ) -->

Parmetros
Nome

Tipo

Descrio

nRow

Numrico

Indica a
coordenada vertical
em pixels.

nCol

Numrico

Indica a
coordenada
horizontal em
pixels.

nBottom

Numrico

Indica a posio do
objeto em relao
ao rodap.

Obrigatrio

Referncia

nRight

Numrico

Indica a posio do
objeto direita.

uParam5

Qualquer

Compatibilidade.

Exemplos
oPrint:Box( 130,10,600,900 );
Cancel
Cancel
Cancela execuo do relatrio.

Sintaxe
TMSPrinter(): Cancel ( ) -->

Exemplos
oPrint:Cancel()
Canceled
Canceled
Retorna se o relatrio foi cancelado pelo mtodo Cancel().

Sintaxe
TMSPrinter(): Canceled ( ) -->

Exemplos
oPrint:Canceled()
Cmtr2Pix
Cmtr2Pix
Devolve por referncia o valor convertido em pixels de uma coluna e uma linha.

Sintaxe
TMSPrinter(): Cmtr2Pix ( [ nLinha], [ nColuna], [ uParam3] ) -->

Parmetros
Nome

Tipo

Descrio

nLinha

Numrico

Indica a linha que


ser calculada.

nColuna

Numrico

Indica a coluna que


ser calculada.

uParam3

Array of Record

Compatibilidade.

Obrigatrio

Exemplos
nCol1 := 10nRow1 := 10oPrint:Cmtr2Pix(
nCol1,nRow1 )/*Resultados:nCol1 :=
1107.08955224nRow1 := 1107.26600985*/
End
End
Indica o trmino do relatrio.

Sintaxe
TMSPrinter(): End ( ) -->

Observaes

Exemplos
oPrint:End()
EndPage
EndPage

Referncia

Indica o fim da pgina.

Sintaxe
TMSPrinter(): EndPage ( ) -->

Exemplos
oPrint:EndPage()
FillRect
FillRect
Cria um objeto do tipo retngulo que pode ser preenchido de uma determinada cor.

Sintaxe
TMSPrinter(): FillRect ( [ aCoords], [ oBrush] ) -->

Parmetros
Nome

Tipo

Descrio

aCoords

Vetor

Indica um array, do
tipo numrico, que
contm as
coordenadas do
retngulo que ser
construdo.

oBrush

Objeto

Indica o objeto do
tipo TBrush
utilizado para definir
a cor de
preenchimento do
shape e
responsvel pelo
preenchimento do
retngulo.

Exemplos

Obrigatrio

Referncia

oBrush1 := TBrush():New( , CLR_YELLOW


)oPrint:FillRect( {100, 10, 200, 200}, oBrush1
)
GetOrientation
GetOrientation
Retorna a orientao (Retrato ou Paisagem) do objeto.

Sintaxe
TMSPrinter(): GetOrientation ( ) --> nOrint

Retorno
nOrint
()
Retorna a orientao do objeto, sendo: 1=Portrait (retrato) ou 2=Landscape (paisagem).

Exemplos
oPrint:GetOrientation() // Result:
1=Portrait(retrato) 2=Landscape(paisagem)
GetTextHeight
GetTextHeight
Retorna a altura do texto conforme as caractersticas da fonte definida.

Sintaxe
TMSPrinter(): GetTextHeight ( < cTexto>, < oFont> ) --> nHeight

Parmetros
Nome

Tipo

Descrio

cTexto

Caracter

Indica o texto que


ser calculado.

Obrigatrio
X

Referncia

oFont

Objeto

Indica o objeto do
tipo TFont, utilizado
para definir as
caractersticas da
fonte, para realizar
o clculo.

Retorno
nHeight()
Retorna a altura do texto.

Observao:
Este mtodo retorna ZERO se o componente estiver sendo
executado via AppServer Linux.
Exemplos
oFont1 := TFont():New('Courier
new',,-18,.T.)nHeight := oPrint:GetTextHeight(
"Teste", oFont1)
// Result: 180
GetTextWidth
GetTextWidth
Retorna a largura do texto conforme as caractersticas da fonte definida.

Sintaxe
TMSPrinter(): GetTextWidth ( < cTexto>, < oFonte> ) --> nWidth

Parmetros
Nome

Tipo

Descrio

cTexto

Caracter

Indica o texto que


ser calculado.

Obrigatrio
X

Referncia

oFonte

Objeto

Indica o objeto do
tipo TFont, utilizado
para definir as
caractersticas da
fonte, para realizar
o clculo.

Observao:
Este mtodo retorna ZERO se o componente estiver sendo
executado via AppServer Linux.
Retorno

nWidth
(numerico)
Retorna a largura do texto.

GetFontWidths

Retorna a largura dos caracteres de uma determinada fonte


Sintaxe
TMSPrinter(): GetFontWidths ( [ oFont], [ @aFontSize] )
Parmetros

Nome

Tipo

Descrio

Obrigatrio

oFont

Objeto

Objeto do tipo fonte

aFontSize

Array of Record

Vetor passado por


referencia que
recebera a lista de
largura da fonte
selecionada

Referncia

Retorno
aRet()
Vetor passado por referencia que recebera a lista de largura da fonte selecionada
Observao:
Este mtodo retorna um vetor vazio se o componente estiver sendo executado via AppServer Linux.

IsPrinterActive
IsPrinterActive
Retorna se a impressora est ativa.

Sintaxe
TMSPrinter(): IsPrinterActive ( ) -->

Exemplos
oPrint:IsPrinterActive()
Line
Line

Cria um objeto do tipo linha.

Sintaxe
TMSPrinter(): Line ( [ nTop], [ nLeft], [ nBottom], [ nRight], [ uParam5] ) -->

Parmetros
Nome

Tipo

Descrio

nTop

Numrico

Indica a
coordenada vertical
em pixels.

nLeft

Numrico

Indica a
coordenada
horizontal em
pixels.

nBottom

Numrico

Indica a posio do
objeto ao rodap.

nRight

Numrico

Indica a posio do
objeto direita.

uParam5

Objeto

Compatibilidade.

Obrigatrio

Exemplos
oPrint:Line( 130,10,130,900 );
nHorzRes
nHorzRes
Retorna a resoluo horizontal da impressora configurada.

Sintaxe
TMSPrinter(): nHorzRes ( ) --> nResoluo

Retorno
nResoluo
()
Retorna a resoluo horizontal da impressora configurada.

Referncia

Exemplos
oPrint:nHorzRes()

// Result: 2400

nLogPixelX
nLogPixelX
Retorna a resoluo vertical em pixels da impressora configurada.

Sintaxe
TMSPrinter(): nLogPixelX ( ) --> nResoluo

Retorno
nResoluo
()
Retorna a resoluo vertical em pixels da impressora configurada.

Exemplos
oPrint:nLogPixelX()

// Result: 300

nLogPixelY
nLogPixelY
Retorna a resoluo horizontal em pixels da impressora configurada.

Sintaxe
TMSPrinter(): nLogPixelY ( ) --> nResoluo

Retorno
nResoluo
()
Retorna a resoluo horizontal em pixels da impressora configurada.

Exemplos
oPrint:nLogPixelY()
nVertRes

// Result: 300

nVertRes
Retorna a resoluo vertical da impressora configurada.

Sintaxe
TMSPrinter(): nVertRes ( ) --> nResoluo

Retorno
nResoluo
()
Retorna a resoluo vertical da impressora configurada.

Exemplos
oPrint:nVertRes()

// Result: 3168

Preview
Preview
Abre a janela de visualizao do relatrio.

Sintaxe
TMSPrinter(): Preview ( ) -->

Exemplos
oPrint:Preview()
Print
Print
Envia o relatrio para impressora.

Sintaxe
TMSPrinter(): Print ( [ aPags], [ nCopias] ) -->

Parmetros

Nome

Tipo

Descrio

aPags

Vetor

Indica o array, do
tipo numrico, que
contm as pginas
que sero
impressas.

nCopias

Numrico

Indica o nmero de
cpias que sero
impressas.

Obrigatrio

Exemplos
// Imprime duas cpias da pgina 1 e
2oPrint:Print( {1,2}, 2 )
PrinterName
PrinterName
Retorna o nome da impressora.

Sintaxe
TMSPrinter(): PrinterName ( ) --> cImpressora

Retorno
cImpressora
(caracter)
Retorna o nome da impressora.

Exemplos
oPrint:PrinterName()
// Result:
"\\172.16.90.251\Tecmono 2"
Refresh
Refresh
Atualiza a visualizao do relatrio.

Referncia

Sintaxe
TMSPrinter(): Refresh ( ) -->

Exemplos
oPrint:Refresh()
ResetPrinter
ResetPrinter
Exclui o objeto e reinicia suas propriedades.

Sintaxe
TMSPrinter(): ResetPrinter ( ) -->

Exemplos
oPrinter:ResetPrinter()
SaveAllAsJpeg
SaveAllAsJpeg
Salva o relatrio, no formato JPG (Joint Photographic Group), e gera um arquivo
separado para cada pgina.

Sintaxe
TMSPrinter(): SaveAllAsJpeg ( [ cFilePath], [ nWidthPage], [ nHeightPage], [ nZoom] ) --> lOk

Parmetros
Nome

Tipo

Descrio

cFilePath

Caracter

Indica o nome do
arquivo.

nWidthPage

Numrico

Indica a largura da
imagem.

nHeightPage

Numrico

Indica a altura da
imagem.

Obrigatrio

Referncia

nZoom

Numrico

Indica o zoom que


a imagem ser
salva.

Retorno
lOk
(logico)
Retorna verdadeiro (.T.), se a imagem for salva com sucesso; caso contrrio, retornar falso (.F.).

Observaes
Importante
O mtodo SaveAllAsJpeg() no foi implementado para ser executado em Jobs.

Detalhes sobre as definies de tamanho e zoom


Os valores default(padro) do mtodo so:
nWidthPage: 700
nHeightPage: 1000
nZoom:100%

Limites aceitos:
nWidthPage: 1800
nHeightPage: 1800
nZoom: Minimo 10% e Mximo 300%

Limitaes do mtodo:
Ao utilizar o mtodo SaveAllAsJpeg, as imagens utilizadas no mtodo SayBitmap devem ser obrigatriamente
bitmaps (BMP), sendo o nico padro de imagens aceito para a converso.

Exemplos
oPrint:SaveAllAsJpeg( cStartPath+'relatorio',
1120, 840, 140 )

SaveAsHTML
SaveAsHTML
Salva o relatrio no formato HTML (HyperText Markup Language).

Sintaxe
TMSPrinter(): SaveAsHTML ( < cFile>, [ aRange] ) --> lOk

Parmetros
Nome

Tipo

Descrio

cFile

Caracter

Indica o nome do
arquivo.

aRange

Vetor

Indica o array, do
tipo caracter, que
contm as pginas
que sero salvas.

Obrigatrio

Referncia

Retorno
lOk
(logico)
Retorna verdadeiro (.T.), se o relatrio for salvo com sucesso; caso contrrio, retornar falso (.F.).

Observaes
Importante
O mtodo SaveAsHTML() no foi implementado para ser executado em Jobs.

Exemplos
cFileHtml := "\TREPORT\Relatorio.HTM"lSend :=
oPrint:SaveAsHTML( cFileHtml, {1,2} ) //
Result : .T.

SaveAsODF
SaveAsODF
Salva o relatrio no formato ODF (Open Document Format).

Sintaxe
TMSPrinter(): SaveAsODF ( < cFile>, [ aRange] ) --> lOk

Parmetros
Nome

Tipo

Descrio

cFile

Caracter

Indica o nome do
arquivo.

aRange

Vetor

Indica o array, do
tipo caracter, que
contm as pginas
que sero salvas.

Obrigatrio

Referncia

Retorno
lOk
(logico)
Retorna verdadeiro (.T.) ser o relatrio for salvo com sucesso; caso contrrio, retornar falso (.F.).

Exemplos
cFileODF := "\TREPORT\Relatorio.ODF"lSend
:= oPrint:SaveAsODF( cFileODF, {1,2} )
//Result: .T.
Say
Say
Cria um objeto do tipo texto.

Sintaxe
TMSPrinter(): Say ( [ nRow], [ nCol], [ cText], [ oFont], [ nWidth], [ nClrText], [ uParam7], [ nAlign] ) -->

Parmetros
Nome

Tipo

Descrio

nRow

Numrico

Indica a
coordenada vertical
em pixels ou
caracteres.

nCol

Numrico

Indica a
coordenada
horizontal em pixels
ou caracteres.

cText

Caracter

Indica o texto que


ser impresso.

oFont

Objeto

Indica o objeto do
tipo TFont utilizado
para definir as
caractersticas da
fonte aplicada na
exibio do
contedo do
controle visual.

nWidth

Numrico

Indica a largura em
pixels do objeto.

nClrText

Numrico

Indica a cor do
texto do objeto.

uParam7

Nulo

Mantido por
compatibilidade,
caso informado
deve ser NIL.

nAlign

Numrico

Indica o
alinhamento do
texto :0 - (Padro)
Alinhado
esquerda.1 Alinhado direita.2
- Centraliza o texto.

Exemplos

Obrigatrio

Referncia

oFont1 := TFont():New('Courier
new',,-18,.T.)oPrint:Say( 10,10,"Texto para
visualizao",oFont1,1400,CLR_HRED )
SayBitmap
SayBitmap
Cria um objeto do tipo imagem.

Sintaxe
TMSPrinter(): SayBitmap ( [ nRow], [ nCol], [ cBitmap], [ nWidth], [ nHeight], [ uParam6], [ uParam7] ) -->

Parmetros
Nome

Tipo

Descrio

nRow

Numrico

Indica a
coordenada vertical
em pixels ou
caracteres.

nCol

Numrico

Indica a
coordenada
horizontal em pixels
ou caracteres.

cBitmap

Caracter

Indica o diretrio e
o nome, com
extenso BMP
(Bitmap), da
imagem.

nWidth

Numrico

Indica a largura em
pixels do objeto.

nHeight

Numrico

Indica a altura em
pixels do objeto.

uParam6

Numrico

Compatibilidade.

uParam7

Lgico

Compatibilidade.

Obrigatrio

Observaes
A imagem ajustada para preencher todo o espao definido entre a altura e largura do objeto.

Referncia

Exemplos
oPrint:SayBitmap(
100,200,"C:\Dir\Totvs.bmp",800,800 )
SetCurrentPrinterInUse
SetCurrentPrinterInUse
Compatibilidade.

Sintaxe
TMSPrinter(): SetCurrentPrinterInUse ( ) -->

SetFont
SetFont
Define a fonte padro do relatrio.

Sintaxe
TMSPrinter(): SetFont ( < oFont> ) -->

Parmetros
Nome

Tipo

Descrio

oFont

Objeto

Indica o objeto do
tipo TFont utilizado
para definir as
caractersticas da
fonte aplicada na
exibio do
contedo do
controle visual.

Obrigatrio
X

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

Referncia

SetLandscape
SetLandscape
Define a orientao do relatrio como paisagem (Landscape).

Sintaxe
TMSPrinter(): SetLandscape ( ) -->

Exemplos
oPrint:SetLandscape()
SetPage
SetPage
Define a pgina que ser apresentada.

Sintaxe
TMSPrinter(): SetPage ( < nPage> ) -->

Parmetros
Nome

Tipo

Descrio

nPage

Numrico

Indica o nmero da
pgina que ser
apresentada.

Obrigatrio
X

Exemplos
oPrint:SetPage( 10 )
SetPaperSize
SetPaperSize
Define o tamanho que ser adotado pela pgina que ser impressa.

Referncia

Sintaxe
TMSPrinter(): SetPaperSize ( [ nTamanho] ) -->

Parmetros
Nome

Tipo

Descrio

nTamanho

Numrico

Indica o tamanho
que ser utilizado
no papel. Para mais
informaes dos
tipos de tamanho
disponveis,
consulte a rea
Observaes.

Obrigatrio

Observaes
//---------------------------------------------------------------------------------------------------//
// Tamanho de folhas possveis para o mtodo tmsprinter:setPaperSize()
//---------------------------------------------------------------------------------------------------//
#define DMPAPER_LETTER 1
// Letter 8 1/2 x 11 in
#define DMPAPER_LETTERSMALL 2
// Letter Small 8 1/2 x 11 in
#define DMPAPER_TABLOID 3
// Tabloid 11 x 17 in
#define DMPAPER_LEDGER 4
// Ledger 17 x 11 in
#define DMPAPER_LEGAL 5
// Legal 8 1/2 x 14 in
#define DMPAPER_STATEMENT 6
// Statement 5 1/2 x 8 1/2 in
#define DMPAPER_EXECUTIVE 7
// Executive 7 1/4 x 10 1/2 in
#define DMPAPER_A3 8
// A3 297 x 420 mm

Referncia

#define DMPAPER_A4 9
// A4 210 x 297 mm
#define DMPAPER_A4SMALL 10
// A4 Small 210 x 297 mm
#define DMPAPER_A5 11
// A5 148 x 210 mm
#define DMPAPER_B4 12
// B4 250 x 354
#define DMPAPER_B5 13
// B5 182 x 257 mm
#define DMPAPER_FOLIO 14
// Folio 8 1/2 x 13 in
#define DMPAPER_QUARTO 15
// Quarto 215 x 275 mm
#define DMPAPER_10X14 16
// 10x14 in
#define DMPAPER_11X17 17
// 11x17 in
#define DMPAPER_NOTE 18
// Note 8 1/2 x 11 in
#define DMPAPER_ENV_9 19
// Envelope #9 3 7/8 x 8 7/8
#define DMPAPER_ENV_10 20
// Envelope #10 4 1/8 x 9 1/2
#define DMPAPER_ENV_11 21
// Envelope #11 4 1/2 x 10 3/8
#define DMPAPER_ENV_12 22
// Envelope #12 4 \276 x 11
#define DMPAPER_ENV_14 23
// Envelope #14 5 x 11 1/2
#define DMPAPER_CSHEET 24
// C size sheet
#define DMPAPER_DSHEET 25
// D size sheet
#define DMPAPER_ESHEET 26
// E size sheet
#define DMPAPER_ENV_DL 27

// Envelope DL 110 x 220mm


#define DMPAPER_ENV_C5 28
// Envelope C5 162 x 229 mm
#define DMPAPER_ENV_C3 29
// Envelope C3 324 x 458 mm
#define DMPAPER_ENV_C4 30
// Envelope C4 229 x 324 mm
#define DMPAPER_ENV_C6 31
// Envelope C6 114 x 162 mm
#define DMPAPER_ENV_C65 32
// Envelope C65 114 x 229 mm
#define DMPAPER_ENV_B4 33
// Envelope B4 250 x 353 mm
#define DMPAPER_ENV_B5 34
// Envelope B5 176 x 250 mm
#define DMPAPER_ENV_B6 35
// Envelope B6 176 x 125 mm
#define DMPAPER_ENV_ITALY 36
// Envelope 110 x 230 mm
#define DMPAPER_ENV_MONARCH 37
// Envelope Monarch 3.875 x 7.5 in
#define DMPAPER_ENV_PERSONAL 38
// 6 3/4 Envelope 3 5/8 x 6 1/2 in
#define DMPAPER_FANFOLD_US 39
// US Std Fanfold 14 7/8 x 11 in
#define DMPAPER_FANFOLD_STD_GERMAN 40
// German Std Fanfold 8 1/2 x 12 in
#define DMPAPER_FANFOLD_LGL_GERMAN 41
// German Legal Fanfold 8 1/2 x 13 in

Exemplos
#INCLUDE "TOTVS.CH"#DEFINE DMPAPER_LETTER 1 //
Letter 8 1/2 x 11 inuser function
tstMsPrintLocal aCoords1 := { 1400, 220, 2000,
1000 }Local cStartPath:= GetSrvProfString(
"Startpath", "" )Local x
:= 0Local oFont1 :=

TFont():New( "Times New Roman",,8,,.f.,,,,,


.f. )//Times New RomanLocal oFont2 :=
TFont():New( "Times New Roman",,10,,.f.,,,,,
.f. )Local oFont3 := TFont():New( "Times New
Roman",,7,,.f.,,,,, .f. )
Local oFont4 :=
TFont():New( "Times New Roman",,9,,.f.,,,,,
.f. )Local oFont5 := TFont():New( "Times New
Roman",,16,,.f.,,,,, .f. )Local oFont6 :=
TFont():New( "Times New Roman",,18,,.f.,,,,,
.f. )Local oFont7 := TFont():New( "Times New
Roman",,20,,.f.,,,,, .f. )Local oFont8 :=
TFont():New( "Times New Roman",,22,,.f.,,,,,
.f. )Local oPrn := TMSPrinter():New(
"tMsPrinter - Teste" )Local oBrush :=
TBrush():New( "", CLR_HBLUE )Local lPreview:=
.T.Private oMainWnd:= NilPrivate cAcesso :=
""lPreview := msgYesNO( "Visualizar antes?"
)If !oPrn:IsPrinterActive() Alert( "Selecione
a impressora padrao" )
oPrn:setUp()Else
oPrn:setUp()EndifIf Right(cStartPath,1) <> "\"
cStartPath += Iif( GetRemoteType() == 2, "/",
"\" )Endif@ 000,000 To 768, 1024 Dialog
oMainWnd Title "Teste
tMsPrinter"oPrn:startPage()oPrn:setPortrait()o
Prn:setPaperSize( DMPAPER_LETTER )oPrn:Say( 0,
0, " ", oFont1, 100 )oPrn:Say ( 0280, 220,
"TESTE DE IMPRESSAO ***fonte 04
Courier_New_de_8", oFont1 )oPrn:Say ( 0480,
220, "TESTE DE IMPRESSAO ***fonte 04
Courier_New_de_10", oFont2 )oPrn:Say ( 0680,
220, "TESTE DE IMPRESSAO ***fonte 04
Courier_New_de_7", oFont3 )oPrn:Say ( 0880,
220, "TESTE DE IMPRESSAO ***fonte 04
Courier_New_de_9", oFont4 )oPrn:Say ( 1080,
220, "TESTE DE IMPRESSAO ***fonte 04

Courier_New_de_16", oFont5 )oPrn:Say ( 1280,


220, "TESTE DE IMPRESSAO ***fonte 04
Courier_New_de_18", oFont6 )oPrn:Say ( 1480,
220, "TESTE DE IMPRESSAO ***fonte 04
Courier_New_de_20", oFont7 )oPrn:Say ( 1680,
220, "TESTE DE IMPRESSAO ***fonte 04
Courier_New_de_22", oFont8
)oPrn:EndPage()oPrn:End()If lPreview
oPrn:Preview()Else
oPrn:Print()EndifActivate Dialog oMainWnd
CenteredReturn Nil
SetPortrait
SetPortrait
Define a orientao do relatrio como retrato (Portrait).

Sintaxe
TMSPrinter(): SetPortrait ( ) -->

Exemplos
oPrint:SetPortrait()
Setup
Setup
Apresenta a janela de configurao de impressoras.

Sintaxe
TMSPrinter(): Setup ( ) -->

Exemplos
oPrint:Setup()
StartPage

StartPage
Indica o incio da pgina.

Sintaxe
TMSPrinter(): StartPage ( ) -->

Exemplos
oPrint:StartPage()
Propriedade
Propriedade

Descrio

Tipo

cDocument

Indica o texto descritivo do relatrio.

Caracter

lDelete

Indica se, verdadeiro (.T.), o


relatrio ser excludo aps
exibio; caso contrrio, falso (.F.).

Lgico

nPage

Indica o nmero da pgina em


exibio.

Numrico

nPageHeight

Indica a altura da pgina.

Numrico

nPageWidth

Indica a largura da pgina.

Numrico

Observaes
Para utilizar imagem nesta classe, atravs do mtodo SayBitmap, necessrio que o formato seja BMP (Bitmap). A
classe no suporta outro tipo de formato para impresso de imagem.

A classe TMSPrinter utiliza a classe TFont para definir a fonte que ser utilizada no relatrio. Porm, a classe
TMSPrinter tem uma limitao de fontes que podem ser utilizadas.
A seguir, observe os tipos de fontes que so homologadas:
Courier New
Arial
Times New Roman
Helvetica
Microsoft Sans Serif
Verdana
Tahoma

Andalus
Century
Cordia New

Exemplo
#INCLUDE "TOTVS.CH"
USER FUNCTION TMSPrinter()
private cAcesso := Repl(" ",10)
DEFINE DIALOG oMainWnd TITLE "Exemplo TMSPrinter" FROM 180,180 TO 550,700 PIXEL
// Monta objeto para impresso
oPrint := TMSPrinter():New("Exemplo TMSPrinter")
oPrint:SetPortrait()
oPrint:Setup()
oPrint:StartPage()
oFont1 := TFont():New('Courier new',,-18,.T.)
oPrint:Say( 10,10,"Texto para visualizao",oFont1,1400,CLR_HRED )
oPrint:SayBitmap( 100,200,"C:\Dir\Totvs.bmp",400,400 )
oPrint:Line( 130,10,130,900 )
oPrint:Box( 130,10,600,900 )
oBrush1 := TBrush():New( , CLR_YELLOW )
oPrint:FillRect( {100, 10, 200, 200}, oBrush1 )
oBrush1:End()
// Visualiza a impresso
oPrint:EndPage()
oPrint:Preview()
ACTIVATE DIALOG oMainWnd CENTERED
RETURN

Preview
Exemplo da classe TMSPrinter

Abrangncia
Protheus 10 , TOTVS Application Server 10 , ByYou
Application Server