Você está na página 1de 28

TMSPrinter

Colapse ALL Expand ALL

Classe: TMSPrinter

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

Hierarquia

Construtores

New

New

Método construtor da Classe.

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cDocument

Caracter

Indica o nome descritivo do relatório.

   

uParam2

Lógico

Compatibilidade.

   

uParam3

Lógico

Compatibilidade.

   

uParam4

Caracter

Compatibilidade.

   

uParam5

Caracter

Compatibilidade.

   

uParam6

Caracter

Compatibilidade.

   

uParam7

Lógico

Compatibilidade.

   

uParam8

Caracter

Compatibilidade.

   

Retorno

oObjeto

()

Retorna o objeto criado.

Exemplos oPrint := TMSPrinter():New("Exemplo TMSPrinter")

Métodos

Box

Box

Cria um objeto do tipo retângulo.

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nRow

Numérico

Indica a coordenada vertical em pixels.

   

nCol

Numérico

Indica a

   

coordenada

horizontal em

pixels.

nBottom

Numérico

Indica a posição do objeto em relação ao rodapé.

   

nRight

Numérico

Indica a posição do objeto à direita.

   

uParam5

Qualquer

Compatibilidade.

   

Exemplos oPrint:Box( 130,10,600,900 );

Cancel

Cancel

Cancela execução do relatório.

Sintaxe

TMSPrinter(): Cancel ( ) -->

Exemplos

oPrint:Cancel()

Canceled

Canceled

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

Sintaxe

TMSPrinter(): Canceled ( ) -->

Exemplos

oPrint:Canceled()

Cmtr2Pix

Cmtr2Pix

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

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nLinha

Numérico

Indica a linha que será calculada.

   

nColuna

Numérico

Indica a coluna que será calculada.

   

uParam3

Array of Record

Compatibilidade.

   

Exemplos nCol1 := 10nRow1 := 10oPrint:Cmtr2Pix( nCol1,nRow1 )/*Resultados:nCol1 := 1107.08955224nRow1 := 1107.26600985*/

End

End

Indica o término do relatório.

Sintaxe

TMSPrinter(): End ( ) -->

Observações

Exemplos

oPrint:End()

EndPage

EndPage

Indica o fim da página.

Sintaxe

TMSPrinter(): EndPage ( ) -->

Exemplos

oPrint:EndPage()

FillRect

FillRect

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

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

aCoords

Vetor

Indica um array, do tipo numérico, que contêm as coordenadas do retângulo que será construído.

   

oBrush

Objeto

Indica o objeto do tipo TBrush utilizado para definir a cor de preenchimento do shape e responsável pelo preenchimento do retângulo.

   

Exemplos oBrush1 := TBrush():New( , CLR_YELLOW

)oPrint:FillRect( {100, 10, 200, 200}, oBrush1

)

GetOrientation

Exemplos oBrush1 := TBrush():New( , CLR_YELLOW )oPrint:FillRect( {100, 10, 200, 200}, oBrush1 ) GetOrientation

GetOrientation

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

Sintaxe

TMSPrinter(): GetOrientation ( ) --> nOrint

Retorno

nOrint

()

Retorna a orientação 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 características da fonte definida.

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cTexto

Caracter

Indica o texto que será calculado.

X

 

oFont

Objeto

Indica o objeto do tipo TFont, utilizado para definir as características da fonte, para realizar o cálculo.

X

 

Retorno

nHeight()

Retorna a altura do texto.

Observação:

Este método 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 características da fonte definida.

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cTexto

Caracter

Indica o texto que será calculado.

X

 

oFonte

Objeto

Indica o objeto do tipo TFont, utilizado para definir as características da fonte, para realizar o cálculo.

X

 

Observação:

Este método 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] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

oFont

Objeto

Objeto do tipo fonte

X

 

aFontSize

Array of Record

Vetor passado por referencia que recebera a lista de largura da fonte selecionada

X

X

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

Observação:

Este método 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] ) -->

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nTop

Numérico

Indica a coordenada vertical em pixels.

   

nLeft

Numérico

Indica a

   

coordenada

horizontal em

pixels.

nBottom

Numérico

Indica a posição do objeto ao rodapé.

   

nRight

Numérico

Indica a posição do objeto à direita.

   

uParam5

Objeto

Compatibilidade.

   

Exemplos oPrint:Line( 130,10,130,900 );

nHorzRes

nHorzRes

Retorna a resolução horizontal da impressora configurada.

Sintaxe

TMSPrinter(): nHorzRes ( ) --> nResolução

Retorno

nResolução

()

Retorna a resolução horizontal da impressora configurada.

Exemplos

oPrint:nHorzRes()

// Result: 2400

nLogPixelX

nLogPixelX

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

Sintaxe

TMSPrinter(): nLogPixelX ( ) --> nResolução

Retorno

nResolução

()

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

Exemplos

oPrint:nLogPixelX()

// Result: 300

nLogPixelY

nLogPixelY

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

Sintaxe

TMSPrinter(): nLogPixelY ( ) --> nResolução

Retorno

nResolução

()

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

Exemplos

oPrint:nLogPixelY()

// Result: 300

nVertRes

nVertRes

Retorna a resolução vertical da impressora configurada.

Sintaxe

TMSPrinter(): nVertRes ( ) --> nResolução

Retorno

nResolução

()

Retorna a resolução vertical da impressora configurada.

Exemplos

oPrint:nVertRes()

// Result: 3168

Preview

Preview

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

Sintaxe

TMSPrinter(): Preview ( ) -->

Exemplos

oPrint:Preview()

Print

Envia o relatório para impressora.

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

aPags

Vetor

Indica o array, do tipo numérico, que contêm as páginas que serão impressas.

   

nCopias

Numérico

Indica o número de cópias que serão impressas.

   

Exemplos // Imprime duas cópias da página 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 visualização do relatório.

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 relatório, no formato JPG (Joint Photographic Group), e gera um arquivo separado para cada página.

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cFilePath

Caracter

Indica o nome do arquivo.

   

nWidthPage

Numérico

Indica a largura da imagem.

   

nHeightPage

Numérico

Indica a altura da imagem.

   

nZoom

Numérico

Indica o zoom que a imagem será salva.

   

Retorno

lOk

(logico) Retorna verdadeiro (.T.), se a imagem for salva com sucesso; caso contrário, retornará falso (.F.).

Observações

Importante

O método SaveAllAsJpeg() não foi implementado para ser executado em Jobs.

Detalhes sobre as definições de tamanho e zoom

Os valores default(padrão) do método são:

nWidthPage: 700 nHeightPage: 1000

nZoom:100%

Limites aceitos:

nWidthPage: 1800 nHeightPage: 1800 nZoom: Minimo 10% e Máximo 300%

Limitações do método:

Ao utilizar o método SaveAllAsJpeg, as imagens utilizadas no método SayBitmap devem ser obrigatóriamente

bitmaps (BMP), sendo o único padrão de imagens aceito para a conversão.

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

SaveAsHTML

SaveAsHTML

Salva o relatório no formato HTML (HyperText Markup Language).

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cFile

Caracter

Indica o nome do arquivo.

X

 

aRange

Vetor

Indica o array, do tipo caracter, que contêm as páginas que serão salvas.

   

Retorno

lOk

(logico) Retorna verdadeiro (.T.), se o relatório for salvo com sucesso; caso contrário, retornará falso (.F.).

Observações

Importante

O método SaveAsHTML() não foi implementado para ser executado em Jobs.

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

SaveAsODF

SaveAsODF

Salva o relatório no formato ODF (Open Document Format).

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cFile

Caracter

Indica o nome do arquivo.

X

 

aRange

Vetor

Indica o array, do tipo caracter, que contêm as páginas que serão salvas.

   

Retorno

lOk

(logico) Retorna verdadeiro (.T.) ser o relatório for salvo com sucesso; caso contrário, retornará falso (.F.).

Exemplos cFileODF := "\TREPORT\Relatorio.ODF"lSend := oPrint:SaveAsODF( cFileODF, {1,2} ) //Result: .T.

Say

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] ) -->

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nRow

Numérico

Indica a coordenada vertical em pixels ou caracteres.

   

nCol

Numérico

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 características da fonte aplicada na exibição do conteúdo do controle visual.

   

nWidth

Numérico

Indica a largura em pixels do objeto.

   

nClrText

Numérico

Indica a cor do texto do objeto.

   

uParam7

Nulo

Mantido por compatibilidade, caso informado deve ser NIL.

   

nAlign

Numérico

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

   

Exemplos oFont1 := TFont():New('Courier new',,-18,.T.)oPrint:Say( 10,10,"Texto para visualização",oFont1,1400,CLR_HRED )

SayBitmap

SayBitmap

Cria um objeto do tipo imagem.

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nRow

Numérico

Indica a coordenada vertical em pixels ou caracteres.

   

nCol

Numérico

Indica a coordenada horizontal em pixels ou caracteres.

   

cBitmap

Caracter

Indica o diretório e o nome, com extensão BMP (Bitmap), da imagem.

   

nWidth

Numérico

Indica a largura em pixels do objeto.

   

nHeight

Numérico

Indica a altura em pixels do objeto.

   

uParam6

Numérico

Compatibilidade.

   

uParam7

Lógico

Compatibilidade.

   

Observações

A imagem é ajustada para preencher todo o espaço 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 padrão do relatório.

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

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.

X

 

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

SetLandscape

SetLandscape

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

Sintaxe

TMSPrinter(): SetLandscape ( ) -->

Exemplos

oPrint:SetLandscape()

SetPage

SetPage

Define a página que será apresentada.

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nPage

Numérico

Indica o número da página que será apresentada.

X

 

Exemplos oPrint:SetPage( 10 )

SetPaperSize

SetPaperSize

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

Sintaxe

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nTamanho

Numérico

Indica o tamanho que será utilizado no papel. Para mais informações dos tipos de tamanho disponíveis, consulte a área Observações.

   

Observações

//---------------------------------------------------------------------------------------------------// // Tamanho de folhas possíveis para o método 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

#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. )

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?"

Local oFont4 :=

)If !oPrn:IsPrinterActive() Alert( "Selecione

a impressora padrao" )

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

oPrn:setUp()Else

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 orientação do relatório como retrato (Portrait).

Sintaxe

TMSPrinter(): SetPortrait ( ) -->

Exemplos

oPrint:SetPortrait()

Setup

Setup

Apresenta a janela de configuração de impressoras.

Sintaxe

TMSPrinter(): Setup ( ) -->

Exemplos

oPrint:Setup()

StartPage

StartPage

Indica o início da página.

Sintaxe

TMSPrinter(): StartPage ( ) -->

Exemplos

oPrint:StartPage()

Propriedade

Propriedade

Descrição

Tipo

cDocument

Indica o texto descritivo do relatório.

Caracter

lDelete

Indica se, verdadeiro (.T.), o relatório será excluído após exibição; caso contrário, falso (.F.).

Lógico

nPage

Indica o número da página em exibição.

Numérico

nPageHeight

Indica a altura da página.

Numérico

nPageWidth

Indica a largura da página.

Numérico

Observações

Para utilizar imagem nesta classe, através do método SayBitmap, é necessário que o formato seja BMP (Bitmap). A classe não suporta outro tipo de formato para impressão de imagem.

A classe TMSPrinter utiliza a classe TFont para definir a fonte que será utilizada no relatório. Porém, a classe

TMSPrinter tem uma limitação de fontes que podem ser utilizadas.

A seguir, observe os tipos de fontes que são homologadas:

uma limitação de fontes que podem ser utilizadas. A seguir, observe os tipos de fontes que

Courier New

ArialTimes New Roman Helvetica Microsoft Sans Serif Verdana Tahoma Andalus Century Cordia New Exemplos #include

Times New RomanArial Helvetica Microsoft Sans Serif Verdana Tahoma Andalus Century Cordia New Exemplos #include "TOTVS.CH"User

HelveticaArial Times New Roman Microsoft Sans Serif Verdana Tahoma Andalus Century Cordia New Exemplos #include

Microsoft Sans SerifArial Times New Roman Helvetica Verdana Tahoma Andalus Century Cordia New Exemplos #include "TOTVS.CH"User

VerdanaArial Times New Roman Helvetica Microsoft Sans Serif Tahoma Andalus Century Cordia New Exemplos #include

TahomaArial Times New Roman Helvetica Microsoft Sans Serif Verdana Andalus Century Cordia New Exemplos #include

AndalusNew Roman Helvetica Microsoft Sans Serif Verdana Tahoma Century Cordia New Exemplos #include "TOTVS.CH"User

CenturyRoman Helvetica Microsoft Sans Serif Verdana Tahoma Andalus Cordia New Exemplos #include "TOTVS.CH"User

Cordia NewMicrosoft Sans Serif Verdana Tahoma Andalus Century Exemplos #include "TOTVS.CH"User Function

Exemplos #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 impressão oPrint := TMSPrinter():New("Exemplo TMSPrinter") oPrint:SetPortrait() oPrint:Setup()

oFont1 :=

oPrint:StartPage() TFont():New('Courier new',,-18,.T.) oPrint:Say( 10,10,"Texto para visualização",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 )

CLR_YELLOW ) oPrint:FillRect( {100, 10, 200,

200}, oBrush1 ) oBrush1:End() // Visualiza a impressão oPrint:EndPage() oPrint:Preview() ACTIVATE DIALOG oMainWnd CENTERED Return

oBrush1 := TBrush():New( ,

Preview Exemplo da classe TMSPrinter

Abrangência Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

Abrangência Protheus 10 , TOTVS Application Server 10 , ByYou Application Server