Histórico da Página
Inclusão de trecho | ||||||
---|---|---|---|---|---|---|
|
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Portuguese | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Classe: TMSPrinterCria 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. NewMétodo construtor da Classe.TMSPrinter(): New ( [ cDocument], [ uParam2], [ uParam3], [ uParam4], [ uParam5], [ uParam6], [ uParam7], [ uParam8] ) --> oObjeto |
|
...
|
...
|
...
|
...
|
...
...
|
...
...
|
...
|
...
|
...
|
...
...
|
...
|
...
|
...
|
...
CanceledRetorna se o relatório foi cancelado pelo método Cancel().TMSPrinter(): Canceled ( ) --> oPrint:Canceled() Cmtr2PixDevolve por referência o valor convertido em pixels de uma coluna e uma linha.TMSPrinter(): Cmtr2Pix ( [ nLinha], [ nColuna], [ uParam3] ) --> |
|
...
|
...
|
...
nCol1 := 10nRow1 := 10oPrint:Cmtr2Pix( nCol1,nRow1 )/*Resultados:nCol1 := 1107.08955224nRow1 := 1107.26600985*/ |
|
...
|
...
...
:= TBrush():New( , CLR_YELLOW )oPrint:FillRect( {100, 10, 200, 200}, oBrush1 ) GetOrientationRetorna a orientação (Retrato ou Paisagem) do objeto.TMSPrinter(): GetOrientation ( ) --> nOrint nOrint
oPrint:GetOrientation() // Result: 1=Portrait(retrato) 2=Landscape(paisagem) GetTextHeightRetorna a altura do texto conforme as características da fonte definida.TMSPrinter(): GetTextHeight ( < cTexto>, < oFont> ) --> nHeight |
|
...
|
...
nHeight()
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 GetTextWidthRetorna a largura do texto conforme as características da fonte definida.TMSPrinter(): GetTextWidth ( < cTexto>, < oFonte> ) --> nWidth |
...
|
...
|
...
Este método retorna ZERO se o componente estiver sendo executado via AppServer Linux. nWidth
|
...
|
|
...
|
|
...
IsPrinterActiveRetorna se a impressora está ativa.TMSPrinter(): IsPrinterActive ( ) --> oPrint:IsPrinterActive() LineCria um objeto do tipo linha.TMSPrinter(): Line ( [ nTop], [ nLeft], [ nBottom], [ nRight], [ uParam5] ) --> |
...
|
...
|
...
|
...
|
...
...
|
...
nHorzResRetorna a resolução horizontal da impressora configurada.TMSPrinter(): nHorzRes ( ) --> nResolução nResolução
oPrint:nHorzRes() // Result: 2400 nLogPixelXRetorna a resolução vertical em pixels da impressora configurada.TMSPrinter(): nLogPixelX ( ) --> nResolução nResolução
oPrint:nLogPixelX() // Result: 300 nLogPixelYRetorna a resolução horizontal em pixels da impressora configurada.TMSPrinter(): nLogPixelY ( ) --> nResolução nResolução
oPrint:nLogPixelY() // Result: 300 nVertResRetorna a resolução vertical da impressora configurada.TMSPrinter(): nVertRes ( ) --> nResolução nResolução
oPrint:nVertRes() // Result: 3168 PreviewAbre a janela de visualização do relatório.TMSPrinter(): Preview ( ) --> oPrint:Preview() Envia o relatório para impressora.TMSPrinter(): Print ( [ aPags], [ nCopias] ) --> |
...
|
...
|
...
PrinterNameRetorna o nome da impressora.TMSPrinter(): PrinterName ( ) --> cImpressora cImpressora
oPrint:PrinterName() // Result: "\\172.16.90.251\Tecmono 2" RefreshAtualiza a visualização do relatório.TMSPrinter(): Refresh ( ) --> oPrint:Refresh() ResetPrinterExclui o objeto e reinicia suas propriedades.TMSPrinter(): ResetPrinter ( ) --> oPrinter:ResetPrinter() SaveAllAsJpegSalva 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 |
|
...
|
...
|
...
|
...
...
|
...
|
...
|
...
lOk
|
|
...
|
...
Detalhes sobre as definições de tamanho e zoom
|
...
nQuality: 75 Limites aceitos:nWidthPage: 1800 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 ) SaveAsHTMLSalva o relatório no formato HTML (HyperText Markup Language).TMSPrinter(): SaveAsHTML ( < cFile>, [ aRange] ) --> lOk |
|
...
|
...
lOk
|
|
cFileHtml := "\TREPORT\Relatorio.HTM"lSend := oPrint:SaveAsHTML( cFileHtml, {1,2} ) // Result : .T. SaveAsODFSalva o relatório no formato ODF (Open Document Format).TMSPrinter(): SaveAsODF ( < cFile>, [ aRange] ) --> lOk |
|
...
|
...
lOk
cFileODF := "\TREPORT\Relatorio.ODF"lSend := oPrint:SaveAsODF( cFileODF, {1,2} ) //Result: .T. SayCria um objeto do tipo texto.TMSPrinter(): Say ( [ nRow], [ nCol], [ cText], [ oFont], [ nWidth], [ nClrText], [ uParam7], [ nAlign] ) --> |
|
...
|
...
|
...
|
...
...
|
...
...
|
...
|
...
|
...
oFont1 := TFont():New('Courier new',,-18,. |
...
T.)oPrint:Say( 10,10,"Texto para visualização",oFont1,1400,CLR_HRED ) SayBitmapCria um objeto do tipo imagem.TMSPrinter(): SayBitmap ( [ nRow], [ nCol], [ cBitmap], [ nWidth], [ nHeight], [ uParam6], [ uParam7] ) --> |
...
|
...
|
...
...
|
...
...
|
...
|
...
|
...
|
...
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 ) |
|
...
SetLandscapeDefine a orientação do relatório como paisagem (Landscape).TMSPrinter(): SetLandscape ( ) --> oPrint:SetLandscape() |
|
...
oPrint:SetPage( 10 ) SetPaperSizeDefine o tamanho que será adotado pela página que será impressa.TMSPrinter(): SetPaperSize ( [ nTamanho] ) --> |
...
|
...
//---------------------------------------------------------------------------------------------------// #define DMPAPER_LETTER 1 #define DMPAPER_LETTERSMALL 2 #define DMPAPER_TABLOID 3 #define DMPAPER_LEDGER 4 #define DMPAPER_LEGAL 5 #define DMPAPER_STATEMENT 6 #define DMPAPER_EXECUTIVE 7 #define DMPAPER_A3 8 #define DMPAPER_A4 9 #define DMPAPER_A4SMALL 10 #define DMPAPER_A5 11 #define DMPAPER_B4 12 #define DMPAPER_B5 13 #define DMPAPER_FOLIO 14 #define DMPAPER_QUARTO 15 #define DMPAPER_10X14 16 #define DMPAPER_11X17 17 #define DMPAPER_NOTE 18 #define DMPAPER_ENV_9 19 #define DMPAPER_ENV_10 20 #define DMPAPER_ENV_11 21 #define DMPAPER_ENV_12 22 #define DMPAPER_ENV_14 23 #define DMPAPER_CSHEET 24 #define DMPAPER_DSHEET 25 #define DMPAPER_ESHEET 26 #define DMPAPER_ENV_DL 27 #define DMPAPER_ENV_C5 28 #define DMPAPER_ENV_C3 29 #define DMPAPER_ENV_C4 30 #define DMPAPER_ENV_C6 31 #define DMPAPER_ENV_C65 32 #define DMPAPER_ENV_B4 33 #define DMPAPER_ENV_B5 34 #define DMPAPER_ENV_B6 35 #define DMPAPER_ENV_ITALY 36 #define DMPAPER_ENV_MONARCH 37 #define DMPAPER_ENV_PERSONAL 38 #define DMPAPER_FANFOLD_US 39 #define DMPAPER_FANFOLD_STD_GERMAN 40 #define DMPAPER_FANFOLD_LGL_GERMAN 41 #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 SetPortraitDefine a orientação do relatório como retrato (Portrait).TMSPrinter(): SetPortrait ( ) --> oPrint:SetPortrait() SetupApresenta a janela de configuração de impressoras.TMSPrinter(): Setup ( ) --> oPrint:Setup() |
|
...
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:
|
...
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
Exemplo da classe TMSPrinter Protheus 10 , TOTVS Application Server 10 , ByYou Application Server |
...