Professional Documents
Culture Documents
Colapse ALL
Expand ALL
Classe: TMSPrinter
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.
uParam6
Caracter
Compatibilidade.
uParam7
Lgico
Compatibilidade.
uParam8
Caracter
Compatibilidade.
Obrigatrio
Referncia
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.
nRight
Numrico
Indica a posio do
objeto direita.
uParam5
Qualquer
Compatibilidade.
Obrigatrio
Referncia
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
nColuna
Numrico
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
Indica o fim da pgina.
Sintaxe
Referncia
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.
Obrigatrio
Referncia
Exemplos
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
Obrigatrio
cTexto
Caracter
oFont
Objeto
Indica o objeto do
tipo TFont, utilizado
para definir as
caractersticas da
fonte, para realizar
o clculo.
Referncia
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
oFonte
Objeto
Indica o objeto do
tipo TFont, utilizado
para definir as
caractersticas da
fonte, para realizar
o clculo.
Observao:
Obrigatrio
Referncia
nWidth
(numerico)
Retorna a largura do texto.
GetFontWidths
Nome
Tipo
Descrio
Obrigatrio
oFont
Objeto
aFontSize
Array of Record
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.
Exemplos
oPrint:Line( 130,10,130,900 );
nHorzRes
Obrigatrio
Referncia
nHorzRes
Retorna a resoluo horizontal da impressora configurada.
Sintaxe
TMSPrinter(): nHorzRes ( ) --> nResoluo
Retorno
nResoluo
()
Retorna a resoluo horizontal da impressora configurada.
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()
// Result: 300
nVertRes
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.
Referncia
Exemplos
oPrint:PrinterName()
// Result:
"\\172.16.90.251\Tecmono 2"
Refresh
Refresh
Atualiza a visualizao do relatrio.
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.
nZoom
Numrico
Obrigatrio
Referncia
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.
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
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.
Obrigatrio
Referncia
nAlign
Numrico
Indica o
alinhamento do
texto :0 - (Padro)
Alinhado
esquerda.1 Alinhado direita.2
- Centraliza o texto.
Exemplos
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.
Obrigatrio
Referncia
nWidth
Numrico
Indica a largura em
pixels do objeto.
nHeight
Numrico
Indica a altura em
pixels do objeto.
uParam6
Numrico
Compatibilidade.
uParam7
Lgico
Compatibilidade.
Observaes
A imagem ajustada para preencher todo o espao definido entre a altura e largura do objeto.
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
Obrigatrio
Referncia
oFont
Objeto
Indica o objeto do
tipo TFont utilizado
para definir as
caractersticas da
fonte aplicada na
exibio do
contedo do
controle visual.
Exemplos
oFont1 := TFont():New('Courier
new',,-18,.T.)oPrint:SetFont( oFont1 )
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
Obrigatrio
Referncia
nPage
Numrico
Indica o nmero da
pgina que ser
apresentada.
Exemplos
oPrint:SetPage( 10 )
SetPaperSize
SetPaperSize
Define o tamanho que ser adotado pela pgina que ser impressa.
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
Referncia
#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
#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
#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
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
Caracter
lDelete
Lgico
nPage
Numrico
nPageHeight
Numrico
nPageWidth
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
Exemplos
Abrangncia
Protheus 10 , TOTVS Application Server 10 , ByYou
Application Server