Histórico da Página
...
Método construtor da classe.
FWMsPrinter(): New ( < cFilePrintert >, [ nDevice], [ lAdjustToLegacy], [ cPathInServer], [ lDisabeSetup ], [ lTReport], [ @oPrintSetup], [ cPrinter], [ lServer], [ lPDFAsPNG], [ lRaw], [ lViewPDF], [ nQtdCopy] ) --> oPrinter
Nome | Tipo | Descrição | Obrigatório | Referência |
cFilePrintert | CaracterCarácter | Nome do arquivo de relatório a ser criado. | X | |
nDevice | Numérico | Tipos de Saída aceitos: IMP_SPOOL Envia para impressora. IMP_PDF Gera arquivo PDF à partir do relatório.Default é IMP_SPOOL | ||
lAdjustToLegacy | Lógico | Se .T. recalcula as coordenadas para manter o legado de proporções com a classe TMSPrinter. Default é .T.IMPORTANTE: Este cálculos não funcionam corretamente quando houver retângulos do tipo BOX e FILLRECT no relatório, podendo haver distorções de algumas pixels o que acarretará no encavalamento dos retângulos no momento da impressão. | ||
cPathInServer | CaracterCarácter | Diretório onde o arquivo de relatório será salvo | ||
lDisabeSetup | Lógico | Se .T. não exibe a tela de Setup, ficando à cargo do programador definir quando e se será feita sua chamada. Default é .F. | ||
lTReport | Lógico | Indica que a classe foi chamada pelo TReport. Default é .F. | ||
oPrintSetup | Objeto | Objeto FWPrintSetup instanciado pelo usuário. | X | |
cPrinter | CaracterCarácter | Impressora destino "forçada" pelo usuário. Default é "" | ||
lServer | Lógico | Indica impressão via Server (.REL Não será copiado para o Client). Default é .F. | ||
lPDFAsPNG | Lógico | .T. Indica que será gerado o PDF no formato PNG. O Default é .T. | ||
lRaw | Lógico | .T. indica impressão RAW/PCL, enviando para o dispositivo de impressão caracteres binários(RAW) ou caracteres programáveis específicos da impressora(PCL) | ||
lViewPDF | Lógico | Quando o tipo de impressão for PDF, define se arquivo será exibido após a impressão. O default é .T. | ||
nQtdCopy | Numérico | Define a quantidade de cópias a serem impressas quando utilizado o metodo método de impressão igual a SPOOL. Recomendavel Recomendável em casos aonde a utilização da classe FwMsPrinter se da por meio de eventos sem a intervenção do usuario usuário (JOBs / Schedule por exemplo)Obs: Aplica-se apenas a ambientes que possuam o fonte FwMsPrinter.prw com data igual ou superior a 03/05/2012. |
- Retorna o objeto criado.
lAdjustToLegacy := .F.
lDisableSetup := .T.
oPrinter := FWMSPrinter():New("Danfe.rel", IMP_PDF, lAdjustToLegacy, , lDisableSetup)// Ordem obrigátoriaobrigatória de configuração do relatóriooPrinterrelatório
oPrinter:SetResolution(72)
oPrinter:SetPortrait()
oPrinter:SetPaperSize(DMPAPER_A4)
oPrinter:SetMargin(60,60,60,60) // nEsquerda, nSuperior, nDireita, nInferior
oPrinter:cPathPDF := "c:\directory\" // Caso seja utilizada impressão em IMP_PDF
...
Insere um retângulo no relatório.
FWMsPrinter(): Box ( < nRow>, < nCol>, < nBottom>, < nRight>, [ cPixel] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nRow | Numérico | Indica a coordenada vertical em pixels. | X | |
nCol | Numérico | Indica a coordenada horizontal em pixels. | X | |
nBottom | Numérico | Indica a posição do objeto em relação ao rodapé. | X | |
nRight | Numérico | Indica a posição do objeto à direita. | X | |
cPixel | CaracterCarácter | Expessura Espessura da linha em pixels. Default é "-2" |
oPrinter:Box( 130, 10, 600, 900, "-4")
Define cancelamento do
relatoriorelatório.
FWMsPrinter(): Cancel ( ) -->
oPrinter:Cancel()
Retorna estado do relatório.
FWMsPrinter(): Canceled ( ) --> lRet
- ()
- Retorna se o relatório foi cancelado pelo método Cancel().
oPrinter:Canceled()
Devolve por referência, o valor convertido em pixels de uma coluna e uma linha.
FWMsPrinter(): Cmtr2Pix ( [ nLinha], [ nCol] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nLinha | Numérico | Indica a linha que será calculada. | ||
nCol | Numérico | Indica a coluna que será calculada. |
nCol1 := 10
nRow110nRow1 := 10
oPrinter10oPrinter:Cmtr2Pix( nCol1, nRow1)
//Resultado
//nCol1 := 1107.08955224
//nRow1 := 1107.26600985
Imprime código de barra no padrão EAN13
Obs: A utilização deste método não é homologado para a impressão de relatórios em ambientes que utilizam sistema operacional com o recurso de "Zoom" ou "Lupa" ativo.
FWMsPrinter():EAN13(<nRow>, <nCol>, <cCodeBar>, <nTotalWidth>, <nHeight>)
Nome | Tipo | Descrição | Obrigatório | Referência |
nRow | Numérico | Posição relativa ao topo | X | |
nCol | Numérico | Posição relativa à esquerda | X | |
cCodeBar | CaracterCarácter | Texto a ser transformado em código de barra | X | |
nTotalWidth | Numérico | Largura total do código de barras | X | |
nHeight | Numérico | Altura da Barra | X |
#INCLUDE "RPTDEF.CH"
#INCLUDE "FWPrintSetup.ch"
#INCLUDE "protheus.ch"
User Function MyCod128()
Local lAdjustToLegacy := .F.
Local lDisableSetup := .T.
Local cLocal := "\spool"
Local oPrinter
oPrinter := FWMSPrinter():New("exemplo.rel", IMP_PDF, lAdjustToLegacy,cLocal, lDisableSetup, , , , , , .F., )
oPrinter:Say( 20, 30, "Código de barras EAN13:")
oPrinter:Ean13(180/*nRow*/ ,280/*nCol*/,"876543210987"/*cCode*/,100/*nWidth*/,95/*nHeigth*/)
oPrinter:Ean13(230/*nRow*/ ,450/*nCol*/,"987654321098"/*cCode*/,100/*nWidth*/,45/*nHeigth*/)
oPrinter:Ean13(150/*nRow*/ ,30 /*nCol*/,"098765432109"/*cCode*/,186/*nWidth*/,95/*nHeigth*/)
oPrinter:Ean13(300/*nRow*/ ,30 /*nCol*/,"123456789012"/*cCode*/,200/*nWidth*/,95/*nHeigth*/)
oPrinter:Ean13(300/*nRow*/ ,300/*nCol*/,"900223631103"/*cCode*/,250/*nWidth*/,95/*nHeigth*/)
oPrinter:Setup()
if oPrinter:nModalResult == PD_OK
oPrinter:Preview()
EndIf
Return
Imprime código de barra no padrão Code128
Obs: A utilização deste metodo método não é homologado para a impressão de relatorios relatórios em ambientes que utilizam sistema operacional com o recurso de "Zoom" ou "Lupa" ativo.
FWMsPrinter():Code128(<nRow>, <nCol>, <cCodeBar>, <nWidth>, <nHeight>, [lSay], [oFont], [nTotalWidth])
Nome | Tipo | Descrição | Obrigatório | Referência |
nRow | Numérico | Posição relativa ao topo | X | |
nCol | Numérico | Posição relativa à esquerda | X | |
cCodeBar | CaracterCarácter | Texto a ser transformado em código de barra | X | |
nWidth | Numérico | Largura da Barra | X | |
nHeight | Numérico | Altura da Barra | X | |
lSay | Lógico | Indica se deve colocar say com o conteúdo em baixo do código de barras | ||
oFont | Objeto | Objeto TFont que fornecerá o oFont:nHeight para definição do Say | ||
nTotalWidth | Numérico | Indica largura total do código de barras (invalida o quarto parâmetro) |
#INCLUDE "RPTDEF.CH"
#INCLUDE "FWPrintSetup.ch"
#INCLUDE "protheus.ch"
User Function MyCod128()
Local lAdjustToLegacy := .F.
Local lDisableSetup := .T.
Local cLocal := "\spool"
Local oPrinter
oPrinter := FWMSPrinter():New("exemplo.rel", IMP_PDF, lAdjustToLegacy,cLocal, lDisableSetup, , , , , , .F., )
oPrinter:Say( 450, 30, "Código de barras CODE128:")
oPrinter:Code128(470/*nRow*/ ,30/*nCol*/, "123456789011010"/*cCode*/,1/*nWidth*/,50/*nHeigth*/,.T./*lSay*/,,400)
oPrinter:Code128(580/*nRow*/ ,30/*nCol*/, "12345678901"/*cCode*/,2/*nWidth*/,30/*nHeigth*/,.F./*lSay*/)
oPrinter:Code128(650/*nRow*/ ,30/*nCol*/, "123456789011010"/*cCode*/,3/*nWidth*/,40/*nHeigth*/,.T./*lSay*/)
oPrinter:Code128(720/*nRow*/ ,30/*nCol*/, "12345678901"/*cCode*/,4/*nWidth*/,95/*nHeigth*/,.T./*lSay*/,,100)
oPrinter:Setup()
if oPrinter:nModalResult == PD_OK
oPrinter:Preview()
EndIf
Return
Imprime
codigocódigo de barra no padrão Code128C
Obs: A utilização deste metodo não método não é homologado para a impressão de relatorios em relatórios em ambientes que utilizam sistema operacional com o recurso de "Zoom" ou "Lupa" ativo.
FWMsPrinter(): Code128C ( < nRow>, < nCol>, < cCodeBar>, < nSizeBar> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nRow | Numérico | Posição relativa ao topo | X | |
nCol | Numérico | Posição relativa à esquerda | X | |
cCodeBar | CaracterCarácter | Texto a ser transformado em código de barra | X | |
nSizeBar | Numérico | Tamanho da fonte (código de barra) | X |
#Include "PROTHEUS.CH"
#Include "RPTDEF.CH"
#INCLUDE "TBICONN.CH"
User Function Code128C()
Local oPrinter
PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01"
oPrinter := FWMSPrinter():New('teste',6,.F.,,.T.,,,,,.F.)
oPrinter:Setup()
oPrinter:setDevice(IMP_PDF)
oPrinter:cPathPDF :="C:\"
oPrinter:Say(10,0,"Teste para Code128C")
oPrinter:Code128c(100, 10, '1234567', 50)
oPrinter:EndPage()
oPrinter:Preview()
FreeObj(oPrinter)
oPrinter := NilRESET ENVIRONMENTReturnNil
RESET ENVIRONMENT
Return
FwMsBar
Imprime codigo código de barras suportados pela função MsBar(). Obs: A utilização deste metodo método não é homologado para a impressão de relatorios relatórios em ambientes que utilizam sistema operacional com o recurso de "Zoom" ou "Lupa" ativo. Sintaxe FWMsPrinter():FWMsBar( cTypeBar<cTypeBar>,nRow <nRow>,nCol <nCol>,cCode <cCode>, [oPrint], [lCheck], [Color], [lHorz], [nWidth], [nHeigth], [lBanner], [cFont], [cMode], [lPrint], [nPFWidth], [nPFHeigth], [lCmtr2Pix])--> Parâmetros
Observações Este método utiliza-se da mesma classe utilizada pela MsBar(). Exemplos #INCLUDE "RPTDEF.CH" #INCLUDE "FWPrintSetup.ch" #INCLUDE "protheus.ch" User Function totvsprt() Local lAdjustToLegacy := .F. Local lDisableSetup := .T. Local oPrinter Local cLocal := "\spool" Local cCodINt25 := "34190184239878442204400130920002152710000053475" Local cCodEAN := "123456789012" oPrinter := FWMSPrinter():New("exemplo.rel", IMP_PDF, lAdjustToLegacy,cLocal, lDisableSetup, , , , , , .F., ) oPrinter:FWMSBAR("INT25" /*cTypeBar*/,1/*nRow*/ ,1/*nCol*/, cCodINt25/*cCode*/,oPrinter/*oPrint*/,.T./*lCheck*/,/*Color*/,.T./*lHorz*/,0.02/*nWidth*/,0.8/*nHeigth*/,.T./*lBanner*/,"Arial"/*cFont*/,NIL/*cMode*/,.F./*lPrint*/,2/*nPFWidth*/,2/*nPFHeigth*/,.F./*lCmtr2Pix*/ oPrinter:FWMSBAR("EAN13" /*cTypeBar*/,5/*nRow*/ ,1/*nCol*/ ,cCodEAN /*cCode*/,oPrinter/*oPrint*/,/*lCheck*/,/*Color*/,/*lHorz*/, /*nWidth*/,/*nHeigth*/,/*lBanner*/,/*cFont*/,/*cMode*/,.F./*lPrint*/,/*nPFWidth*/,/*nPFHeigth*/,/*lCmtr2Pix*/) oPrinter:Setup() if oPrinter:nModalResult == PD_OK oPrinter:Preview() EndIf Return |
Imprime
codigocódigo de barra no padrão DataMatrix
Obs: A utilização deste metodo não método não é homologado para a impressão de relatorios em relatórios em ambientes que utilizam sistema operacional com o recurso de "Zoom" ou "Lupa" ativo.
FWMsPrinter(): DataMatrix ( < nCol>, < nRow>, < cCodeBar>, < nSizeBar> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nCol | Numérico | Posição relativa à esquerda | X | |
nRow | Numérico | Posição relativa ao topo | X | |
cCodeBar | CaracterCarácter | Texto a ser codificado | X | |
nSizeBar | Numérico | Tamanho do codigo código de barras | X |
O código de barras será gerado com seu tamanho natural, que pode variar de acordo com a quantidade de caracteres codificados.
No entanto, é importante ressaltar que a imagem do código de barras não pode ser redimensionada para um tamanho inferior ao natural, porque pode ficar corrompida, comprometendo a sua leitura. Sendo assim, é possível apenas passar um tamanho superior, para que a imagem seja escalada corretamente.
Os códigos de barras 2D possuem os seguintes limites da quantidade de caracteres:
• Data Matrix: No máximo 1200 caracteres;
• QR Code: Aproximadamente 2930 caracteres.
#Include "PROTHEUS.CH"
#Include "RPTDEF.CH"
#INCLUDE "TBICONN.CH"
User Function DataMatrix()
Local oPrinter
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01"
oPrinter := FWMSPrinter():New('teste',6,.F.,,.T.,,,,,.F.)
oPrinter:Setup()
oPrinter:setDevice(IMP_PDF)
oPrinter:cPathPDF :="C:\"
oPrinter:Say(180,0,"Teste para DataMatrix")
oPrinter:DataMatrix(0,300,"DataMatrix gerado com sucesso", 100)
oPrinter:EndPage()
oPrinter:Preview()
FreeObj(oPrinter)
oPrinter := NilRESET ENVIRONMENTReturnNil
RESET ENVIRONMENT
Return
Insere uma elipse no relatório.
FWMsPrinter(): Ellipse ( < nLeft>, < nTop>, < nBottom>, < nRigth>, [ nColorIn], [ nColorOut], [ nLineType], [ cPixel] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nLeft | Numérico | Indica a coordenada horizontal em pixels. | X | |
nTop | Numérico | Indica a coordenada ao topo em pixels. | X | |
nBottom | Numérico | Indica a posição do objeto em relação ao rodapé. | X | |
nRigth | Numérico | Indica a posição do objeto à direita. | X | |
nColorIn | Numérico | Cor do preenchimento do elipse. Default CLR_BLACK. | ||
nColorOut | Numérico | Cor da linha do elipse. Default CLR_BLACK | ||
nLineType | Numérico | Estilo da linha. Default 0. Para mais informações sobre os tipos disponíveis, consulte a área Observações. | ||
cPixel | CaracterCarácter | Pixel no formato caractere exemplo . Exemplo “02”, caso necessário us uso de decimais utilize “-2” para 0,2 Pixels. |
Tabelas com as opções de linha disponíveis.
- 0 - Solid Line;
- 1 - Dash Line;
- 2 - Dash Dot Line;
- 3 - Dash Dot Dot Line;
- 4 - Dot Line;
- 5 - Custom Dash Line
oPrinter:Ellipse( 10, 10, 100, 100, CLR_BLACK, CLR_BLACK, 0, “-2”)
Cria um objeto do tipo retângulo, que pode ser preenchido com uma determinada cor.
FWMsPrinter(): FillRect ( < aCoords>, [ oBrush], [ cPixel] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
aCoords | Vetor | Vetor de coordenadas {nTop,nLeft,nBottom,nRight} | X | |
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. | ||
cPixel | CaracterCarácter | Expessura Espessura da linha em pixels. Default é "-2" |
oBrush1 := TBrush():New( , CLR_YELLOW)
oPrinter:Fillrect( {100, 10, 200, 200 }, oBrush1, "-2")
Retorna a largura dos caracteres de uma determinada fonte
FWMsPrinter(): GetFontWidths ( [ oFont], [ @aFontSize] ) --> aRet
Nome | Tipo | Descrição | Obrigatório | Referência |
oFont | Objeto | Objeto do tipo fonte | ||
aFontSize | Array of Record | Vetor passado por referencia que recebera a lista de largura da fonte selecionada | X |
- ()
- Vetor passado por referencia que recebera a lista de largura da fonte selecionada
Retorna a orientação (Retrato ou Paisagem) do objeto.
FWMsPrinter(): GetOrientation ( ) --> nOrientation
- ()
- Retorna orientação do relatório. Para mais informações sobre os retornos que podem ser apresentados, consulte a área Observações.
Tabela com os valores de retorno.
- 0 - Ainda não definido pelo usuário;
- 1 - Portrait(retrato);
- 2 - Landscape(paisagem)
oPrinter:GetOrientation()
Retorna a altura do texto, conforme as características da fonte definida.
FWMsPrinter(): GetTextHeight ( < cTexto>, < oFont> ) --> nHeight
Nome | Tipo | Descrição | Obrigatório | Referência |
cTexto | CaracterCarácter | Indica o texto que será calculado. | X | |
oFont | Objeto | Indica o objeto do tipo TFont, utilizado para definir as características da fonte e realizar o cálculo. | X |
- ()
- Retorna a altura do texto.
oFont1 := TFont():New( 'Courier New', , -18, .T.)
nHeight := oPrinter:GetTextheight( "Teste", oFont1)
Retorna a largura do texto, conforme as características da fonte definida.
FWMsPrinter(): GetTextWidth ( < cTexto> , < oFont> , <nType> ) --> nWidth
Nome | Tipo | Descrição | Obrigatório | Referência |
cTexto | CaracterCarácter | Indica o texto que será calculado. | X | |
oFont | Objeto | Indica o objeto do tipo TFont, utilizado para definir as características da fonte e realizar o cálculo. | X | |
nType | Numérico | Informa o tipo de cálculo [1=GetFontPixWidths | 2=CalcFieldSize | 0=Default] |
- ()
- Retorna a largura do texto.
oFont1 := TFont():New( 'Courier New', , -18, .T.)
nWidht := oPrinter:GetTextWidth( "Teste", oFont1, 0)
Quando o tipo de impressão for PDF, retorna se o arquivo será exibido após a impressão.
FWMsPrinter(): GetViewPDF ( ) --> lViewPDF
- (logico)
- .T. para exibir o relatório após a impressão.
oPrinter:GetViewPDF()
Retorna se a impressora está ativa.
FWMsPrinter(): IsPrinterActive ( ) -->
oPrinter:IsPrinterActive()
Insere uma linha no relatório.
FWMsPrinter(): Line ( < nTop>, < nLeft>, < nBottom>, < nRight>, [ nColor], [ cPixel] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nTop | Numérico | Indica a coordenada vertical em pixels. | X | |
nLeft | Numérico | Indica a coordenada horizontal em pixels. | X | |
nBottom | Numérico | Indica a posição do objeto ao rodapé. | X | |
nRight | Numérico | Indica a posição do objeto à direita. | X | |
nColor | Numérico | Cor da linha. Default é 0 | ||
cPixel | CaracterCarácter | Expessura da linha em pixels. Default é "-2" |
oPrinter:Line( 130, 10, 130, 900, "-4")
Retorna a resolução horizontal da impressora configurada.
FWMsPrinter(): nHorzRes ( ) --> nResult
- ()
- Retorna a resolução horizontal da impressora configurada.
oPrinter:nHorzRes()
Retorno largura da página.
FWMsPrinter(): nHorzSize ( ) --> nHorzSize
- ()
- Largura da página
oPrinter:nHorzSize()
Retorna a resolução vertical, em pixels, da impressora configurada.
FWMsPrinter(): nLogPixelX ( ) --> nResult
- ()
- Retorna a resolução vertical em pixels da impressora configurada.
oPrinter:nLogPixelX()
Retorna a resolução horizontal, em pixels, da impressora configurada.
FWMsPrinter(): nLogPixelY ( ) --> nResult
- ()
- Retorna a resolução horizontal em pixels da impressora configurada.
oPrinter:nLogPixelY()
Retorna a resolução vertical da impressora configurada.
FWMsPrinter(): nVertRes ( ) --> nResult
- ()
- Retorna a resolução vertical da impressora configurada.
oPrinter:nVertRes()
Retorno altura da página.
FWMsPrinter(): nVertSize ( ) --> nVertSize
- ()
- Altura da página.
oPrinter:nVertSize()
Retorna o tamanho do papel.
FWMsPrinter(): PaperSize ( ) --> nPaperSize
- ()
- Tamanho do papel.
oPrinter:PaperSize()
Envia o relatório para impressora.
FWMsPrinter(): Preview ( ) -->
oPrinter:Preview()
Envia o relatório para impressora.
FWMsPrinter(): Print ( ) -->
oPrinter:Print()
Retorna o nome da impressora.
FWMsPrinter(): PrinterName ( ) --> cImpressora
- (caractercarácter)
- Nome da impressora.
A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.
oPrinter:PrinterName()
Imprime
codigocódigo de barra no padrão QRCode
FWMsPrinter(): QRCode ( < nRow>, < nCol>, < cCodeBar>, < nSizeBar> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nRow | Numérico | Posição relativa ao topo | X | |
nCol | Numérico | Posição relativa à esquerda | X | |
cCodeBar | CaracterCarácter | Texto a ser codificado | X | |
nSizeBar | Numérico | Tamanho do codigo código de barras | X |
O código de barras será gerado com seu tamanho natural, que pode variar de acordo com a quantidade de caracteres codificados.
No entanto, é importante ressaltar que a imagem do código de barras não pode ser redimensionada para um tamanho inferior ao natural, porque pode ficar corrompida, comprometendo a sua leitura. Sendo assim, é possível apenas passar um tamanho superior, para que a imagem seja escalada corretamente.
Os códigos de barras 2D possuem os seguintes limites da quantidade de caracteres:
• Data Matrix: No máximo 1200 caracteres;
• QR Code: Aproximadamente 2930 caracteres.
#Include "PROTHEUS.CH"
#Include "RPTDEF.CH"
#INCLUDE "TBICONN.CH"
User Function QRCode()
Local oPrinter
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01"
oPrinter := FWMSPrinter():New('teste',6,.F.,,.T.,,,,,.F.)
oPrinter:Setup()
oPrinter:setDevice(IMP_PDF)
oPrinter:cPathPDF :="C:\"
oPrinter:Say(40,0,"Teste para QRCode")
oPrinter:QRCode(0,150,"QR Code gerado com sucesso", 100)
oPrinter:EndPage()
oPrinter:Preview()
FreeObj(oPrinter)
oPrinter := NilRESET ENVIRONMENTReturnNil
RESET ENVIRONMENT
Return
Insere um texto no relatório.
FWMsPrinter(): Say ( < nRow>, < nCol>, < cText>, [ oFont], [ nWidth], [ nClrText], [ nAngle] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nRow | Numérico | Indica a coordenada vertical em pixels ou caracteres. | X | |
nCol | Numérico | Indica a coordenada horizontal em pixels ou caracteres. | X | |
cText | CaracterCarácter | Texto a ser impresso. | X | |
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 | Nulo | Indica a largura em pixels do objeto. | ||
nClrText | Numérico | Indica a cor do texto do objeto. | ||
nAngle | Numérico | Ângulo de rotação do texto. |
A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.
oFont1 := TFont():New( "Courier New", , -18, .T.)
oPrinter:Say( 10, 10, "texto para visualização", oFont1, 1400, CLR_HRED)
Cria um objeto do tipo texto, permitindo alinhamento Horizontal e Vertical.
FWMsPrinter(): SayAlign ( < nRow>, < nCol>, < cText>, [ oFont], [ nWidth], [ nHeigth], [ nClrText], [ nAlignHorz], [ nAlignVert ] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nRow | Numérico | Indica a coordenada vertical em pixels ou caracteres. | X | |
nCol | Numérico | Indica a coordenada horizontal em pixels ou caracteres. | X | |
cText | CaracterCarácter | Indica o texto que será impresso. | X | |
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. | ||
nHeigth | Numérico | Indica a altura em pixels do objeto. | ||
nClrText | Numérico | Indica a cor do texto do objeto. | ||
nAlignHorz | Numérico | Alinhamento Horizontal. Para mais informações sobre os alinhamentos disponíveis, consulte a área Observações. | ||
nAlignVert | Numérico | Alinhamento Vertical. Para mais informações sobre os alinhamentos disponíveis, consulte a área Observações. |
Tabela de códigos de alinhamento horizontal.
- 0 - Alinhamento à esquerda;
- 1 - Alinhamento à direita;
- 2 - Alinhamento centralizado
3 - Alinhamento justificado. (Opção disponível somente a partir da versão 1.6.2 da TOTVS Printer.)
Tabela de códigos de alinhamento vertical.
- 0 - Alinhamento centralizado;
- 1 - Alinhamento superior;
- 2 - Alinhamento inferior
oFont1 := TFont():New('Courier new',,-18,.T.)
oPrinter:SayAlign( 10,10,"Texto para visualização",oFont1,1400, 200, CLR_HRED, 0, 2 )
Insere uma imagem no relatório.
FWMsPrinter(): SayBitmap ( < nRow>, < nCol>, < cBitmap>, [ nWidth], [ nHeight] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nRow | Numérico | Indica a coordenada vertical em pixels ou caracteres. | X | |
nCol | Numérico | Indica a coordenada horizontal em pixels ou caracteres. | X | |
cBitmap | CaracterCarácter | Indica o diretório e o nome, com extensão BMP (Bitmap), da imagem. | X | |
nWidth | Numérico | Indica a largura em pixels do objeto. Default é 100. | ||
nHeight | Numérico | Indica a altura em pixels do objeto. Default é 100. |
A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.
A impressão de imagens maiores que 1MB e a possibilidade de utilizar arquivos locais ou compartilhados via rede estarão disponiveis à disponíveis à partir da totvsPrinter versão 1.5.5.
Se o relatório for executado via SERVIDOR, essa máquina deverá ter acesso aos arquivos, caso as imagens estejam no drive local da estação onde serão executadas.
oPrinter:SayBitmap( 100, 200, "C:\Dir\totvs.bmp", 800, 800)
oPrinter:SayBitMap( 100, 200, "\\maquina\public\totvs.bmp", 2000, 2000) // Acesso a arquivos via rede.
Seleciona o dispositivo de
impressaoimpressão
FWMsPrinter(): SetDevice ( < nDevice> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nDevice | Numérico | Tipos de Saída aceitos: IMP_SPOOL Envia para impressora. IMP_PDF Gera arquivo PDF à partir do relatório. Default é IMP_SPOOL | X |
oPrint:SetDevice(IMP_SPOOL)
Define o fonte a ser utilizado no relatório.
FWMsPrinter(): SetFont ( < oFont> ) -->
oFont1 := TFont():New('Courier new',,-18,.T.)
oPrinter:SetFont(oFont1)
Define a orientação do relatório como paisagem (Landscape).
FWMsPrinter(): SetLandscape ( ) -->
oPrinter:SetLandscape()
Define a margem do relatório.
FWMsPrinter(): SetMargin ( < nLeft>, < nTop>, < nRight>, < nBottom> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nLeft | Numérico | Margem esquerda | X | |
nTop | Numérico | Margem superior | X | |
nRight | Numérico | Margem direita | X | |
nBottom | Numérico | Margem inferior | X |
oPrinter:SetMargin(10,10,10,10)
Define o tamanho que será adotado pela página a ser impressa.
FWMsPrinter(): SetPaperSize ( < nPaperSize>, [ nHeight], [ nWidth] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nPaperSize | 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. | X | |
nHeight | Numérico | Altura da página. | ||
nWidth | Numérico | Largura da página. |
- 0 - Tamanho customizavel pelo usuario, informado em nHeight/nWidth. Aplicavel apenas em impressoes do tipo PDF.
- 1 - Letter 216mm x 279mm 637 x 823
- 3 - Tabloid 279mm x 432mm 823 x 1275
- 7 - Executive 184mm x 267mm 543 x 788
- 8 - A3 297mm x 420mm 876 x 1240
- 9 - A4 210mm x 297mm 620 x 876
oPrinter:setPaperSize(9)
Define a orientação do relatório como retrato (Portrait).
FWMsPrinter(): SetPortrait ( ) -->
oPrinter:SetPortrait()
Define resolução do relatório.
FWMsPrinter(): SetResolution ( [ nResolution] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nResolution | Numérico | Resolução do relatório. Default é 72 |
oPrinter:Resolution()
Apresenta a janela de configuração de impressoras.
FWMsPrinter(): Setup ( ) -->
oPrinter:Setup()
Quando o tipo de impressão for PDF, define se o arquivo será exibido após a impressão.
FWMsPrinter(): SetViewPDF ( < lViewPDF> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
lViewPDF | Lógico | .T. para exibir o PDF após a impressão. | X |
// para não apresentar o PDF após a geração do relatório.
oPrinter:SetViewPDF(.F.)
Imprimecodigocódigo de barra no padrão Pdf417FWMsPrinter(): pdf417( nRow, nCol, cCodeBar, nSizeBar,nHeight ) -->
oPrinter:pdf417( nRow, nCol, cCodeBar, nSizeBar,nHeight ) |
---|
Inicia a impressão de uma nova página
FWMsPrinter(): StartPage ( ) -->
oPrinter:StartPage()
...
Propriedade | Descrição | Tipo |
aImages | Lista de imagens do relatório. | Vetor |
cFileName | Nome do arquivo a ser gerado. | CaracterCarácter |
cFilePrint | Arquivo que conterá o binário do relatório. | CaracterCarácter |
cPathPDF | Path do arquivo PDF. | CaracterCarácter |
cPathPrint | Nome do diretório onde o relatório será gerado. | CaracterCarácter |
cPrinter | Nome da impressora para impressão do relatório. | CaracterCarácter |
cSession | Informações de configuração da impressora. | CaracterCarácter |
IsFirstPage | Determina se é a primeira página do relatório. | Array of Record |
lCanceled | Define se o relatório foi cancelado. | Lógico |
lInJob | Determina se o relatório está sendo executado via Job. | Lógico |
lServer | Indica impressão via Server (.REL Não será copiado para o Client). | Lógico |
lTReport | Indica que o relatório foi chamado pelo TReport. | Lógico |
lViewPDF | Indica se o arquivo será exibido após a impressão em PDF. | Lógico |
nDevice | Dispositivo de impressão. | Numérico |
nModalResult | Retorna o ModalResult do Setup, para que o usuário trate a informação | Numérico |
nPageCount | Quantidade de páginas do relatório. | Numérico |
nPageHeight | Altura da página. | Numérico |
nPageWidth | Largura da página. | Numérico |
nPaperSize | Tamanho da folha do relatório. | Numérico |
oFontAtu | Fonte do relatório. | Objeto |
oPrint | Objeto de impressão. | Objeto |