...
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")
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 := 10nRow1 := 10oPrinter: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 | 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 |
#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 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) |
#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
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(): 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
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 #INCLUDE "RPTDEF.CH" |
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
será gerado com seu tamanho natural2D), que
podeirã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
podepodia ser redimensionada para
um tamanho inferiordimensões inferiores ao natural, porque
podepoderia ficar corrompida, comprometendo a sua leitura. Sendo assim,
éera possível apenas passar um tamanho superior
,para que a imagem
sejafosse escalada corretamente.
Os códigos de barras 2D possuem os seguintes limites da quantidade de 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:
#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
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. |
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 | Caracter | 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 | 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 |
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 | 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] |
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 | Caracter | 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 | 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
será gerado com seu tamanho natural2D), que
podeirã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
podepodia ser redimensionada para
um tamanho inferiordimensões inferiores ao natural, porque
podepoderia 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
seja escalada corretamentegerada 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:
•#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
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)
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. |
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 | 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.
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> ) -->
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)
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.)
Imprime codigo de barra no padrão Pdf417FWMsPrinter(): pdf417( nRow, nCol, cCodeBar, nSizeBar,nHeight ) -->
oPrinter:pdf417( nRow, nCol, cCodeBar, nSizeBar,nHeight ) |
---|
FWMsPrinter(): StartPage ( ) -->
oPrinter:StartPage()
...