...
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 | CarácterCaracter | 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 | CarácterCaracter | 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 | CarácterCaracter | 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. | ||
lPDFAsPNGlParam10 | Lógico.T. Indica que será gerado o PDF no formato PNG. O Default é .T. | 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 método metodo de impressão igual a SPOOL. Recomendável Recomendavel em casos aonde a utilização da classe FwMsPrinter se da por meio de eventos sem a intervenção do usuário 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. |
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 |
FWMsPrinter(): SetParm ("-RFS" ) -->
oPrinter:SetParm( "-RFS")
...
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 | CarácterCaracter | Espessura Expessura da linha em pixels. Default é "-2" |
oPrinter:Box( 130, 10, 600, 900, "-4")
FWMsPrinter(): Cancel ( ) -->
oPrinter:Cancel()
FWMsPrinter(): Canceled ( ) --> lRet
oPrinter:Canceled()
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 := 10nRow110nRow1 := 10oPrinter10oPrinter:Cmtr2Pix( nCol1, nRow1)//Resultado//nCol1 := 1107.08955224//nRow1 := 1107.26600985
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 | CarácterCaracter | 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 |
Obs: A utilização deste método metodo não é homologado para a impressão de relatórios 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 | CarácterCaracter | 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 |
ObsObservações:
FWMsPrinter(): Code128C ( < nRow>, < nCol>, < cCodeBar>, < nSizeBar> ) 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 | CarácterCaracter | 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 := |
FreeObj(oPrinter)
oPrinter := Nil
RESET ENVIRONMENT
Return
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" |
FwMsBar
Imprime código de barras suportados pela função MsBar(). 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.
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
|
Obs: A utilização deste método não metodo não é homologado para a impressão de relatórios em 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 | CarácterCaracter | Texto a ser codificado | X | |
nSizeBar | Numérico | Tamanho do código 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 será gerado com seu tamanho natural2D), que pode 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 pode podia ser redimensionada para um tamanho inferior dimensões inferiores ao natural, porque pode poderia ficar corrompida, comprometendo a sua leitura. Sendo assim, é era possível apenas passar um tamanho superior , para que a imagem seja fosse 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.
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:
Bloco de código | ||||
---|---|---|---|---|
| ||||
#Include "PROTHEUS.CH"
#Include "RPTDEF.CH"
#INCLUDE "TBICONN.CH"
User Function DataMatrix()
|
#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)
FreeObj(oPrinter) oPrinter := Nil |
RESET ENVIRONMENT |
Return |
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 | CarácterCaracter | Pixel no formato caractere . Exemplo exemplo “02”, caso necessário uso us de decimais utilize “-2” para 0,2 Pixels. |
oPrinter:Ellipse( 10, 10, 100, 100, CLR_BLACK, CLR_BLACK, 0, “-2”)
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 | CarácterCaracter | Espessura Expessura da linha em pixels. Default é "-2" |
oBrush1 := TBrush():New( , CLR_YELLOW)oPrinter:Fillrect( {100, 10, 200, 200 }, oBrush1, "-2")
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 |
FWMsPrinter(): GetOrientation ( ) --> nOrientation
oPrinter:GetOrientation()
FWMsPrinter(): GetTextHeight ( < cTexto>, < oFont> ) --> nHeight
Nome | Tipo | Descrição | Obrigatório | Referência |
cTexto | CarácterCaracter | 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 |
oFont1 := TFont():New( 'Courier New', , -18, .T.)nHeight := oPrinter:GetTextheight( "Teste", oFont1)
FWMsPrinter(): GetTextWidth ( < cTexto> , < oFont> , <nType> ) --> nWidth
Nome | Tipo | Descrição | Obrigatório | Referência |
cTexto | CarácterCaracter | 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] |
oFont1 := TFont():New( 'Courier New', , -18, .T.)nWidht := oPrinter:GetTextWidth( "Teste", oFont1, 0)
FWMsPrinter(): GetViewPDF ( ) --> lViewPDF
oPrinter:GetViewPDF()
FWMsPrinter(): IsPrinterActive ( ) -->
oPrinter:IsPrinterActive()
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 | CarácterCaracter | Expessura da linha em pixels. Default é "-2" |
oPrinter:Line( 130, 10, 130, 900, "-4")
FWMsPrinter(): nHorzRes ( ) --> nResult
oPrinter:nHorzRes()
FWMsPrinter(): nHorzSize ( ) --> nHorzSize
oPrinter:nHorzSize()
FWMsPrinter(): nLogPixelX ( ) --> nResult
oPrinter:nLogPixelX()
FWMsPrinter(): nLogPixelY ( ) --> nResult
oPrinter:nLogPixelY()
FWMsPrinter(): nVertRes ( ) --> nResult
oPrinter:nVertRes()
FWMsPrinter(): nVertSize ( ) --> nVertSize
oPrinter:nVertSize()
FWMsPrinter(): PaperSize ( ) --> nPaperSize
oPrinter:PaperSize()
FWMsPrinter(): Preview ( ) -->
oPrinter:Preview()
FWMsPrinter(): Print ( ) -->
oPrinter:Print()
FWMsPrinter(): PrinterName ( ) --> cImpressora
A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.
oPrinter:PrinterName()
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 | CarácterCaracter | Texto a ser codificado | X | |
nSizeBar | Numérico | Tamanho do código codigo de barras | X |
O código de barras será gerado com seu tamanho natural, que pode variar de 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 pode podia ser redimensionada para um tamanho inferior dimensões inferiores ao natural, porque pode poderia ficar corrompida, comprometendo a sua leitura. Sendo assim, é era possível apenas passar um tamanho superior , para que a imagem seja fosse 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.
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:
Bloco de código | ||||
---|---|---|---|---|
| ||||
#Include "PROTHEUS.CH"
#Include "RPTDEF.CH"
#INCLUDE "TBICONN.CH"
User Function QRCode()
Local oPrinter
|
#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( |
150,150,"QR Code gerado com sucesso", 100) |
oPrinter:EndPage() |
oPrinter:Preview() |
FreeObj(oPrinter) |
oPrinter := Nil |
RESET ENVIRONMENT |
Return |
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 | CarácterCaracter | 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)
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 | CarácterCaracter | 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. |
3 - Alinhamento justificado. (Opção disponível somente a partir da versão 1.6.2 da TOTVS Printer.)
oFont1 := TFont():New('Courier new',,-18,.T.)oPrinter:SayAlign( 10,10,"Texto para visualização",oFont1,1400, 200, CLR_HRED, 0, 2 )
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 | CarácterCaracter | 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 disponíveis à 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.
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)
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.)
FWMsPrinter(): SetLandscape ( ) -->
oPrinter:SetLandscape()
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)
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. |
oPrinter:setPaperSize(9)
FWMsPrinter(): SetPortrait ( ) -->
oPrinter:SetPortrait()
FWMsPrinter(): SetResolution ( [ nResolution] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
nResolution | Numérico | Resolução do relatório. Default é 72 |
oPrinter:Resolution()
FWMsPrinter(): Setup ( ) -->
oPrinter:Setup()
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.)
Imprimecódigocodigo 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
SetPassword( < cPassword > )
oPrinter:StartPage()
...
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()
FWMsPrinter(): StartPage ( ) -->
oPrinter: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 |
Informações | ||
---|---|---|
A opção do tipo de impressão não é salva pela última escolha feita. Caso exista a necessidade desse comportamento deve-se realizar a implementação diretamente no programa que se utiliza da classe gravando, recuperando e informando qual o tipo.
|
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.
|
...