Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Aviso

Componente descontinuado e não suportado pelo SmartClient HTML

Recomenda-se o uso da classe FWMSPrinter desenvolvida pelo Framework.

Composition Setup
import.css=/download/attachments/327912/newLayout.css
Portuguese

Pagetitle
TMSPrinter
TMSPrinter

Classe: TMSPrinter

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


Observação: existe uma limitação no componente, onde nenhuma página pode exceder o tamanho de 128KB (kilobytes), caso o limite não seja respeitado, na hora de finalizar a impressão um erro será retornado avisando sobre o limite e a impressão não será gerada.



New

Método construtor da Classe.


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



NomeTipoDescriçãoObrigatórioReferência
cDocumentCaracterIndica o nome descritivo do relatório.

uParam2LógicoCompatibilidade.

uParam3LógicoCompatibilidade.

uParam4CaracterCompatibilidade.

uParam5CaracterCompatibilidade.

uParam6CaracterCompatibilidade.

uParam7LógicoCompatibilidade.

uParam8CaracterCompatibilidade.


oObjeto
    ()
  • Retorna o objeto criado.

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

Box

Cria um objeto do tipo retângulo.


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



NomeTipoDescriçãoObrigatórioReferência
nRowNuméricoIndica a coordenada vertical em pixels.

nColNuméricoIndica a coordenada horizontal em pixels.

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

nRightNuméricoIndica a posição do objeto à direita.

uParam5QualquerCompatibilidade.



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

Cancel

Cancela execução do relatório.


TMSPrinter(): Cancel ( ) -->


oPrint:Cancel()

Canceled

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


TMSPrinter(): Canceled ( ) -->


oPrint:Canceled()

Cmtr2Pix

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


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



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

nColunaNuméricoIndica a coluna que será calculada.

uParam3Array of RecordCompatibilidade.



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

End

Indica o término do relatório.


TMSPrinter(): End ( ) -->


...



oPrint:End()

EndPage

Indica o fim da página.


TMSPrinter(): EndPage ( ) -->


oPrint:EndPage()

FillRect

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


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



NomeTipoDescriçãoObrigatórioReferência
aCoordsVetorIndica um array, do tipo numérico, que contêm as coordenadas do retângulo que será construído.

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



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

GetOrientation

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


TMSPrinter(): GetOrientation ( ) --> nOrint

nOrint
    ()
  • Retorna a orientação do objeto, sendo: 1=Portrait (retrato) ou 2=Landscape (paisagem).

oPrint:GetOrientation() // Result: 1=Portrait(retrato) 2=Landscape(paisagem)

GetTextHeight

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


TMSPrinter(): 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, para realizar o cálculo.X


nHeight()
  • Retorna a altura do texto.
Este método retorna ZERO se o componente estiver sendo executado via AppServer Linux.

oFont1 := TFont():New('Courier new',,-18,.T.)nHeight := oPrint:GetTextHeight( "Teste", oFont1)   // Result: 180

GetTextWidth

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


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



NomeTipoDescriçãoObrigatórioReferência
cTextoCaracterIndica o texto que será calculado.X
oFonteObjetoIndica o objeto do tipo TFont, utilizado para definir as características da fonte, para realizar o cálculo.X
Este método retorna ZERO se o componente estiver sendo executado via AppServer Linux.
 

Retorno

nWidth
    (numerico)
  • Retorna a largura do texto.

...

  •  

...

...

a largura dos caracteres de uma determinada fonte


TMSPrinter():

...

oPrint:IsPrinterActive()

Line

Cria um objeto do tipo linha.

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

...

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

GetFontWidths ( [ oFont], [ @aFontSize] )



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


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



IsPrinterActive

Retorna se a impressora está ativa.


TMSPrinter(): IsPrinterActive ( ) -->


oPrint:IsPrinterActive()

Line

Cria um objeto do tipo linha

nHorzRes

...

.


TMSPrinter():

...

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

...

...

    nResolução()
  • Retorna a resolução horizontal da impressora configurada.
oPrint:nHorzRes()   // Result: 2400

nLogPixelX

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

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

    nResolução()
  • Retorna a resolução vertical em pixels da impressora configurada.
oPrint:nLogPixelX()   // Result: 300

nLogPixelY

...


NomeTipoDescriçãoObrigatórioReferência
nTopNuméricoIndica a coordenada vertical em pixels.

nLeftNuméricoIndica a coordenada horizontal em pixels.

nBottomNuméricoIndica a posição do objeto ao rodapé.

nRightNuméricoIndica a posição do objeto à direita.

uParam5ObjetoCompatibilidade.



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

nHorzRes

Retorna a resolução horizontal da impressora configurada.


TMSPrinter():

...

nHorzRes ( ) --> nResolução

nResolução
    ()
  • Retorna a resolução horizontal

...

  • da impressora configurada.

oPrint:

...

nHorzRes()   // Result: 

...

2400

...

...

nLogPixelX

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


TMSPrinter():

...

nLogPixelX ( ) --> nResolução

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

oPrint:

...

nLogPixelX()   // Result: 

...

300

...

...

nLogPixelY

...

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


TMSPrinter():

...

nLogPixelY ( ) --> nResolução

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

oPrint:

...

nLogPixelY()

...

Print

   // Result: 300

nVertRes

Retorna a resolução vertical da impressora configurada

...

.


TMSPrinter():

...

nVertRes ( ) --> nResolução

...

...

nResolução

    ...

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

    oPrint:nVertRes()   // Result: 3168

    Preview

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


    TMSPrinter(): Preview ( ) -->


    oPrint:Preview()

    Print

    Envia o relatório para

    ...

    // Imprime duas cópias da página 1 e 2oPrint:Print( {1,2}, 2 )

    PrinterName

    ...

    impressora.


    TMSPrinter():

    ...

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

    ...

      cImpressora(caracter)
    • Retorna o nome da impressora.
    oPrint:PrinterName()   // Result: "\\172.16.90.251\Tecmono 2"

    Refresh



    NomeTipoDescriçãoObrigatórioReferência
    aPagsVetorIndica o array, do tipo numérico, que contêm as páginas que serão impressas.

    nCopiasNuméricoIndica o número de cópias que serão impressas.



    // Imprime duas cópias da página 1 e 2oPrint:Print( {1,2}, 2 )

    PrinterName

    Retorna o nome da impressora.


    TMSPrinter(): PrinterName ( ) --> cImpressora

    cImpressora
      (caracter)
    • Retorna o nome da impressora.

    oPrint:PrinterName()   // Result: "\\172.16.90.251\Tecmono 2"

    Refresh

    Atualiza a visualização do relatório.


    TMSPrinter(): Refresh ( ) -->


    oPrint:Refresh()

    ResetPrinter

    Exclui o objeto e reinicia suas propriedades.


    TMSPrinter(): ResetPrinter ( ) -->


    oPrinter:ResetPrinter()

    SaveAllAsJpeg

    Salva o relatório, no formato JPG (Joint Photographic Group), e gera um arquivo separado para cada página.


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



    NomeTipoDescriçãoObrigatórioReferência
    cFilePathCaracterIndica o nome do arquivo.

    nWidthPageNuméricoIndica a largura da imagem.

    nHeightPageNuméricoIndica a altura da imagem.

    nZoomNuméricoIndica o zoom que a imagem será salva.

    ...



    nQualityNuméricoIndica a qualidade da imagem.


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


    Importante
    • Esse método é suportado apenas em Servidores Windows.
    • O método SaveAllAsJpeg() não foi implementado para ser executado em Jobs.
    • Parâmetro nQuality disponível a partir da build 7.00.131227A.


    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%

    ...

    nQuality: 75

    Limites aceitos:

    nWidthPage: 1800
    nHeightPage: 1800
    nZoom: Minimo 10% e Máximo 300%
    nQuality: 1 a 100

    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.


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

    SaveAsHTML

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


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



    NomeTipoDescriçãoObrigatórioReferência
    cFileCaracterIndica o nome do arquivo.X
    aRangeVetorIndica o array, do tipo caracter, que contêm as páginas que serão salvas.


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


    Importante

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



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

    SaveAsODF

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


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



    NomeTipoDescriçãoObrigatórioReferência
    cFileCaracterIndica o nome do arquivo.X
    aRangeVetorIndica o array, do tipo caracter, que contêm as páginas que serão salvas.


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

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

    Say

    Cria um objeto do tipo texto.


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



    NomeTipoDescriçãoObrigatórioReferência
    nRowNuméricoIndica a coordenada vertical em pixels ou caracteres.

    nColNuméricoIndica a coordenada horizontal em pixels ou caracteres.

    cTextCaracterIndica o texto que será impresso.

    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.

    nClrTextNuméricoIndica a cor do texto do objeto.

    uParam7NuloMantido por compatibilidade, caso informado deve ser NIL.

    nAlignNumérico

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

    Obs: a propriedade nCol define a coordenada horizontal do alinhamento, ou seja, quando alinhado à esquerda nCol define a coordenada desejada para o começo do texto, à direita será o final do texto, e centralizado será o centro do texto. O componente evita que o texto seja impresso fora da margem esquerda, neste caso seu primeiro caractere será impresso na coordenada zero.





    oFont1 := TFont():New('Courier new',,

    ...

    -18,.T.)oPrint:Say( 10,10,"Texto para visualização",oFont1,1400,CLR_HRED )

    SayBitmap

    Cria um objeto do tipo imagem.


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



    NomeTipoDescriçãoObrigatórioReferência
    nRowNuméricoIndica a coordenada vertical em pixels ou caracteres.

    nColNuméricoIndica a coordenada horizontal em pixels ou caracteres.

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

    nWidthNuméricoIndica a largura em pixels do objeto.

    nHeightNuméricoIndica a altura em pixels do objeto.

    uParam6NuméricoCompatibilidade.

    uParam7LógicoCompatibilidade.



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


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

    SetCurrentPrinterInUse

    Compatibilidade.


    TMSPrinter(): SetCurrentPrinterInUse ( ) -->

    SetFont

    Define a fonte padrão do relatório.


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



    NomeTipoDescriçãoObrigatórioReferência
    oFontObjetoIndica o objeto do tipo TFont utilizado para definir as características da fonte aplicada na exibição do conteúdo do controle visual.X



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

    SetLandscape

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


    TMSPrinter(): SetLandscape ( ) -->


    oPrint:SetLandscape()

    SetPage

    Define a página que será apresentada.


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



    NomeTipoDescriçãoObrigatórioReferência
    nPageNuméricoIndica o número da página que será apresentada.X



    oPrint:SetPage( 10 )

    SetPaperSize

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


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



    NomeTipoDescriçãoObrigatórioReferência
    nTamanhoNuméricoIndica o tamanho que será utilizado no papel. Para mais informações dos tipos de tamanho disponíveis, consulte a área 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


    #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()oPrn: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

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


    TMSPrinter(): SetPortrait ( ) -->


    oPrint:SetPortrait()

    Setup

    Apresenta a janela de configuração de impressoras.


    TMSPrinter(): Setup ( ) -->


    oPrint:Setup()

    StartPage

    Indica o início da página.


    TMSPrinter(): StartPage ( ) -->


    oPrint:StartPage()


    PropriedadeDescriçãoTipo
    cDocumentIndica o texto descritivo do relatório.Caracter
    lDeleteIndica se, verdadeiro (.T.), o relatório será excluído após exibição; caso contrário, falso (.F.).Lógico
    nPageIndica o número da página em exibição.Numérico
    nPageHeightIndica a altura da página.Numérico
    nPageWidthIndica a largura da página.Numérico



    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:

    • Courier New
    • Arial
    • Times New Roman
    • Helvetica
    • Microsoft Sans Serif
    • Verdana
    • Tahoma
    • Andalus
    • Century
    • Cordia New

    ...



    Bloco de código
    languagecpp
    themeEclipse
    titleExemplo
    linenumberstrue
    #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()     
    		oPrint:StartPage()                  
    		oFont1 

    ...

    := 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 )    
    		oBrush1 := TBrush():New( , CLR_YELLOW )  
    		oPrint:FillRect( {100, 10, 200, 200}, oBrush1 )  
    		oBrush1:End()
    		// Visualiza a impressão  
    		oPrint:EndPage()       
    		oPrint:Preview()  
    	ACTIVATE DIALOG oMainWnd CENTERED 

    ...

    
    RETURN


    Exemplo da classe TMSPrinter
    Image Modified

    Protheus 10 , TOTVS Application Server 10 , ByYou Application Server