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 | Caracter | Nome do arquivo de relatório a ser criado (caracteres especiais podem ser removidos da string caso utilizados, pois geram problemas na geração e utilização do arquivo) | 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. | ||
lParam10 | Lógico | Parâmetro descontinuado, mantido para compatibilidade. | ||
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. | ||
lConvertFont | Lógico | .T. indica se converte o tamanho da fonte. Caso .F. não será feita a conversão. O Default é .T. | ||
lHasBuffer | Lógico | A partir da LIB 20240520 será disponibilizado o parâmetro lHasBuffer para definir se deverá ou não ser usado o Buffer de arquivo. Sendo .T. o indicativo para utilização do Buffer e .F. para não utilização. O Default .T. |
- Retorna o objeto criado.
Bloco de código | ||||
---|---|---|---|---|
| ||||
lAdjustToLegacy := .F. lDisableSetup := .T. oPrinter := FWMSPrinter():New("Danfe.rel", IMP_PDF, lAdjustToLegacy, , lDisableSetup)// Ordem obrigátoria de configuração do relató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 | Caracter | Expessura da linha em pixels. Default é "-2" |
oPrinter:Box( 130, 10, 600, 900, "-4")
Define cancelamento do relatorio.
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 := 10nRow1 := 10oPrinter: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 | Caracter | 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 |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#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 não é homologado para a impressão de relatorios 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 | Caracter | 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) |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#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 código de barra no padrão Code128C
Observações:
- 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.
- Esse método trabalha sempre com caracteres em número par (1234, 457985), caso o parâmetro cCodeBar seja enviado com caracteres em quantidade ímpar (15782, 12345), será gerado um zero a mais no código de barras. Portanto fica na responsabilidade do desenvolvedor enviar ou não um zero no começo ou no final da string para compensar a quantidade ímpar de caracteres, exemplo "015782" ou "157820".
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 |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#Include "PROTHEUS.CH" #Include "RPTDEF.CH" #INCLUDE "TBICONN.CH" User Function Code128C() Local oPrinter := Nil 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(10,0,"Teste para Code128C") oPrinter:Code128c(100, 10, '1234567', 50) oPrinter:EndPage() oPrinter:Preview() FreeObj(oPrinter) oPrinter := Nil RESET ENVIRONMENT Return |
FwMsBar
Imprime 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
Observações Este método utiliza-se da mesma classe utilizada pela MsBar().
Exemplos
|
Imprime codigo de barra no padrão DataMatrix
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.
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 |
O código é gerado com suas dimensões naturais (que são os valores mínimos sugeridos pelo motor de geração de código de barras 2D), que irão variar de acordo com a quantidade de caracteres codificados.
No entanto, é importante ressaltar que até a versão 1.7.1 do agente TOTVSPrinter a imagem do código de barras não podia ser redimensionada para dimensões inferiores ao natural, porque poderia ficar corrompida, comprometendo a sua leitura. Sendo assim, era possível apenas passar um tamanho superior para que a imagem fosse escalada corretamente. Entretanto, a partir da versão 1.7.2 essa limitação foi removida, permitindo assim que as dimensões da imagem gerada possam ser escaladas para um tamanho inferior ao natural para que seja possível adequar-se a um espaço limitado e fixo, por exemplo. Assim, ao usar esse recurso, é preciso certificar-se de que, após o redimensionamento, um leitor ainda consegue interpretar corretamente as informações codificadas.
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
Bloco de código | ||||
---|---|---|---|---|
| ||||
#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 := Nil 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 | Caracter | Pixel no formato caractere exemplo “02”, caso necessário us 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 | Caracter | Expessura 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 | 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 |
- ()
- 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 | 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 | |
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 | Caracter | 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
- (caracter)
- Nome da impressora.
A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.
oPrinter:PrinterName()
Imprime codigo 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 | Caracter | Texto a ser codificado | X | |
nSizeBar | Numérico | Tamanho do codigo de barras | X |
O código é gerado com suas dimensões naturais (que são os valores mínimos sugeridos pelo motor de geração de código de barras 2D), que irão variar de acordo com a quantidade de caracteres codificados.
No entanto, é importante ressaltar que até a versão 1.7.1 do agente TOTVSPrinter a imagem do código de barras não podia ser redimensionada para dimensões inferiores ao natural, porque poderia ficar corrompida, comprometendo a sua leitura. Sendo assim, era possível apenas passar um tamanho superior para que a imagem fosse escalada corretamente. Entretanto, a partir da versão 1.7.2 essa limitação foi removida, permitindo assim que as dimensões da imagem gerada possam ser escaladas para um tamanho inferior ao natural para que seja possível adequar-se a um espaço limitado e fixo, por exemplo. Assim, ao usar esse recurso, é preciso certificar-se de que, após o redimensionamento, um leitor ainda consegue interpretar corretamente as informações codificadas.
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
Bloco de código | ||||
---|---|---|---|---|
| ||||
#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:QRCode(150,150,"QR Code gerado com sucesso", 100) oPrinter:EndPage() oPrinter:Preview() FreeObj(oPrinter) oPrinter := Nil 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 | 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)
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 | 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. |
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 | 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.
Seleciona o dispositivo de impressao
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>, < lForceFont> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
oFont | Objeto | Objeto do tipo TFont. | X | |
lForceFont | Lógico | Se .T. atualiza a fonte do texto do relatório setada no TFont |
oFont1 := TFont():New('Courier new',,-18,.T.)oPrinter:SetFont(oFont1, .T.)
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.)
Imprime codigo de barra no padrão Pdf417FWMsPrinter(): pdf417( nRow, nCol, cCodeBar, nSizeBar,nHeight ) -->
oPrinter:pdf417( nRow, nCol, cCodeBar, nSizeBar,nHeight ) |
---|
Informa uma senha para a geração e visualização do PDF
FWMsPrinter(): SetPassword( < cPassword > )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
cPassword | Character | Senha para a geração e visualização do PDF | x |
A senha funciona apenas para a geração de PDF (IMP_PDF), qualquer outro formato não acatará a senha, como SPOOL ou outros. Esse método está disponível na lib 20230807 ou superior.
oPrinter:SetPassword("Daniel")
Retorna o status da geração do PDF que a printer gerou
FWMsPrinter(): GetStatusPrinter() → nStatusPrinter
Retorno
nStatusPrinter - numeric - Status da geração do PDF retornado pelo binário da printer
Esse status não deve ser utilizado para validar a geração bem sucedida do PDF. Esse método está disponível na lib 20231009 ou superior.
oPrinter:GetStatusPrinter()
Inicia a impressão de uma nova página
FWMsPrinter(): StartPage ( ) -->
oPrinter:StartPage()
...
Informações | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Comportamento de opções de impressão em relação aos acessos dos usuários No cadastro de usuários existem 4 acessos que podem influenciar nas opções de impressão da classe FwMsPrinter:
Esses acessos devem estar de acordo com a parametrização das configurações de diretório e impressão: Opções disponíveis na FwMsPrinter: Os comportamentos esperados de acordo com os acessos dados aos usuários são:
|
Dica | ||
---|---|---|
Caso exista a necessidade de realizar a impressão de um relatório via JOB utilizando a impressão via Spool informe a impressora diretamente para ser considerada na impressão.
|