Classe: FWMsPrinterCria um objeto que permite visualizar e imprimir relatório. NewMé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 | Caracter | 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 | Caracter | 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 | Caracter | 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 de impressão igual a SPOOL. Recomendavel em casos aonde a utilização da classe FwMsPrinter se da por meio de eventos sem a intervenção do usuario (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. | | |
oPrinter()- Retorna o objeto criado.
lAdjustToLegacy := .F. lDisableSetup := .T.oPrinter := FWMSPrinter():New("Danfe.rel", IMP_PDF, lAdjustToLegacy, , lDisableSetup)// Ordem obrigátoria de configuração do relatóriooPrinter: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 BoxInsere 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 | Caracter | Expessura da linha em pixels. Default é "-2" | | |
oPrinter:Box( 130, 10, 600, 900, "-4") CancelDefine cancelamento do relatorio.FWMsPrinter(): Cancel ( ) --> CanceledRetorna estado do relatório.FWMsPrinter(): Canceled ( ) --> lRet lRet()- Retorna se o relatório foi cancelado pelo método Cancel().
Cmtr2PixDevolve 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 := 10nRow1 := 10oPrinter:Cmtr2Pix( nCol1, nRow1)//Resultado//nCol1 := 1107.08955224//nRow1 := 1107.26600985 Code128CImprime codigo de barra no padrão Code128CObs: A utilização deste metodo não é homologado para a impressão de relatorios 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 | Caracter | 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 ENVIRONMENTReturn FwMsBar FwMsBarImprime codigo de barras suportados pela função MsBar().Obs: A utilização deste metodo não é homologado para a impressão de relatorios em ambientes que utilizam sistema operacional com o recurso de "Zoom" ou "Lupa" ativo. Sintaxe FWMsPrinter():FWMsBar(cTypeBar,nRow,nCol,cCode,oPrint,lCheck,Color,lHorz, nWidth,nHeigth,lBanner,cFont,cMode,lPrint,nPFWidth,nPFHeigth,lCmtr2Pix)--> Parâmetros Nome | Tipo | Descrição | Obrigatório | Referência | cTypeBar | Caracter | Código do tipo do código de barras: "EAN13", "EAN8", "UPCA" , "SUP5" , "CODE128", "INT25","MAT25,"IND25","CODABAR","CODE3_9" | X | | nRow | Numérico | Posição relativa à esquerda | X | | nCol | Numérico | Posição relativa ao topo | X | | cCode | Caracter | Texto a ser transformado em código de barra | X | | oPrint | Objeto | Objeto Printer | | | lCheck | Lógico | Se calcula o digito de controle. Defautl .T. | | | Color | Numérico | Numero da Cor, utilize a "color.ch". Default CLR_BLACK | | | lHorz | Lógico | Se imprime na Horizontal. Default .T. | | | nWidth | Numérico | Numero do Tamanho da barra. Default 0.025 | | | nHeigth | Numérico | Numero da Altura da barra. Default 1.5 | | | lBanner | Lógico | Se imprime a linha com o código embaixo da barra. Default .T. | | | cFont | Caracter | Nome do Fonte a ser utilizado. Defautl "Arial" | | | cMode | Caracter | Modo do codigo de barras CO. Default "" | | | lPrint | Lógico | Se executa o método Print() de oPrinter pela MsBar. Default .T. | | | nPFWidth | Numérico | Número do índice de ajuste da largura da fonte. Default 1 | | | nPFHeigth | Numérico | Número do índice de ajuste da altura da fonte. Default 1 | | | lCmtr2Pix | Lógico | Utiliza o método Cmtr2Pix() do objeto Printer.Default .T. | | |
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 |
DataMatrix DataMatrixImprime codigo de barra no padrão DataMatrixObs: A utilização deste metodo não é homologado para a impressão de relatorios 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 | Caracter | Texto a ser codificado | X | | nSizeBar | Numérico | Tamanho do codigo de barras | X | |
Esta opção esta disponivel para TotvsPrinter.exe em versões superiores à 1.3.0. Para confirmação da versão utilize na linha de comando: totvsprinter -v. 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 ENVIRONMENTReturn EllipseInsere 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 | Caracter | Pixel no formato caractere exemplo “02”, caso necessário us de decimais utilize “-2” para 0,2 Pixels. | | |
nLineTypeTabelas 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”) EndPageIndica o fim da página.FWMsPrinter(): EndPage ( ) --> FillRectCria 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 | Caracter | Expessura da linha em pixels. Default é "-2" | | |
oBrush1 := TBrush():New( , CLR_YELLOW)oPrinter:Fillrect( {100, 10, 200, 200 }, oBrush1, "-2") GetFontWidthsRetorna a largura dos caracteres de uma determinada fonteFWMsPrinter(): 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 |
aRet()- Vetor passado por referencia que recebera a lista de largura da fonte selecionada
GetOrientationRetorna a orientação (Retrato ou Paisagem) do objeto.FWMsPrinter(): GetOrientation ( ) --> nOrientation nOrientation()- Retorna orientação do relatório. Para mais informações sobre os retornos que podem ser apresentados, consulte a área Observações.
nOrientationTabela com os valores de retorno.- 0 - Ainda não definido pelo usuário;
- 1 - Portrait(retrato);
- 2 - Landscape(paisagem)
oPrinter:GetOrientation() GetTextHeightRetorna 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 | Caracter | 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 | |
nHeight()- Retorna a altura do texto.
oFont1 := TFont():New( 'Courier New', , -18, .T.)nHeight := oPrinter:GetTextheight( "Teste", oFont1) GetTextWidthRetorna a largura do texto, conforme as características da fonte definida.FWMsPrinter(): GetTextWidth ( < cTexto>, < oFont> ) --> nWidth 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 e realizar o cálculo. | X | |
nWidth()- Retorna a largura do texto.
oFont1 := TFont():New( 'Courier New', , -18, .T.)nWidht := oPrinter:GetTextWidth( "Teste", oFont1) GetViewPDFQuando o tipo de impressão for PDF, retorna se o arquivo será exibido após a impressão.FWMsPrinter(): GetViewPDF ( ) --> lViewPDF lViewPDF(logico)- .T. para exibir o relatório após a impressão.
Este método estará disponível em pacote de lib, no qual o fonte FWMSPrinter.PRW tenha a data superior ou igual a 08/09/2011. IsPrinterActiveRetorna se a impressora está ativa.FWMsPrinter(): IsPrinterActive ( ) --> oPrinter:IsPrinterActive() LineInsere 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 | Caracter | Expessura da linha em pixels. Default é "-2" | | |
oPrinter:Line( 130, 10, 130, 900, "-4") nHorzResRetorna a resolução horizontal da impressora configurada.FWMsPrinter(): nHorzRes ( ) --> nResult nResult()- Retorna a resolução horizontal da impressora configurada.
nHorzSizeRetorno largura da página.FWMsPrinter(): nHorzSize ( ) --> nHorzSize nLogPixelXRetorna a resolução vertical, em pixels, da impressora configurada.FWMsPrinter(): nLogPixelX ( ) --> nResult nResult()- Retorna a resolução vertical em pixels da impressora configurada.
nLogPixelYRetorna a resolução horizontal, em pixels, da impressora configurada.FWMsPrinter(): nLogPixelY ( ) --> nResult nResult()- Retorna a resolução horizontal em pixels da impressora configurada.
nVertResRetorna a resolução vertical da impressora configurada.FWMsPrinter(): nVertRes ( ) --> nResult nResult()- Retorna a resolução vertical da impressora configurada.
nVertSizeRetorno altura da página.FWMsPrinter(): nVertSize ( ) --> nVertSize PaperSizeRetorna o tamanho do papel.FWMsPrinter(): PaperSize ( ) --> nPaperSize PreviewAbre a janela de visualização do relatório.FWMsPrinter(): Preview ( ) --> PrintEnvia o relatório para impressora.FWMsPrinter(): Print ( ) --> PrinterNameRetorna o nome da impressora.FWMsPrinter(): PrinterName ( ) --> cImpressora cImpressora(caracter)- Nome da impressora.
A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto. QRCodeImprime codigo de barra no padrão QRCodeFWMsPrinter(): 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 | Caracter | Texto a ser codificado | X | | nSizeBar | Numérico | Tamanho do codigo de barras | X | |
Esta opção esta disponivel para TotvsPrinter.exe em versões superiores à 1.3.0. Para confirmação da versão utilize na linha de comando: totvsprinter -v. 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 ENVIRONMENTReturn SayInsere 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 | Caracter | 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) SayAlignCria 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 | Caracter | 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. | | |
nAlignHorzTabela de códigos de alinhamento horizontal.- 0 - Alinhamento à esquerda;
- 1 - Alinhamento à direita;
- 2 - Alinhamento centralizado
nAlignVertTabela 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 ) SayBitmapInsere 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 | Caracter | 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 à 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. SetDeviceSeleciona o dispositivo de impressaoFWMsPrinter(): 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) SetFontDefine o fonte a ser utilizado no relatório.FWMsPrinter(): SetFont ( < oFont> ) --> Nome | Tipo | Descrição | Obrigatório | Referência | oFont | Objeto | Objeto do tipo TFont. | X | |
oFont1 := TFont():New('Courier new',,-18,.T.)oPrinter:SetFont(oFont1) SetLandscapeDefine a orientação do relatório como paisagem (Landscape).FWMsPrinter(): SetLandscape ( ) --> SetMarginDefine 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) SetPaperSizeDefine 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. | | |
nPaperSize- 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
SetPortraitDefine a orientação do relatório como retrato (Portrait).FWMsPrinter(): SetPortrait ( ) --> SetResolutionDefine 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 | | |
Atualmente a versão da Totvsprinter somente trabalha com o valor fixo de 72. Portanto não deve setar outro valor. SetupApresenta a janela de configuração de impressoras.FWMsPrinter(): Setup ( ) --> SetViewPDFQuando 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 | |
Este método estará disponível em pacote de lib, no qual o fonte FWMSPrinter.PRW tenha a data superior ou igual a 08/09/2011. // para não apresentar o PDF após a geração do relatório.oPrinter:SetViewPDF(.F.) Pdf417Imprime codigo de barra no padrão Pdf417FWMsPrinter(): pdf417( nRow, nCol, cCodeBar, nSizeBar,nHeight ) --> Nome | Tipo | Descrição | Obrigatório | Referencia |
---|
nRow | Numérico | Posição relativa ao topo | x | | nCol | Numérico | Posição relativa à esquerda | x | | cCodBar | Caracter | Texto a ser codificado | x | | nSizeBar | Numérico | Tamanho do codigo de barras | x | | nHeight | Numérico | Altura da Barra | x | |
oPrinter:pdf417( nRow, nCol, cCodeBar, nSizeBar,nHeight ) |
---|
StartPageInicia a impressão de uma nova páginaFWMsPrinter(): StartPage ( ) --> Propriedade | Descrição | Tipo | aImages | Lista de imagens do relatório. | Vetor | cFileName | Nome do arquivo a ser gerado. | Caracter | cFilePrint | Arquivo que conterá o binário do relatório. | Caracter | cPathPDF | Path do arquivo PDF. | Caracter | cPathPrint | Nome do diretório onde o relatório será gerado. | Caracter | cPrinter | Nome da impressora para impressão do relatório. | Caracter | cSession | Informações de configuração da impressora. | Caracter | 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 |
|