PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 25 → Comandos diretos para imprimir - lineprint
Comandos diretos para imprimir - lineprint
Started by Boller, May, 29 2025 4:42 PM - No answer
Registered member
4,520 messages
Posted on May, 29 2025 - 4:42 PM
Comandos diretos para impressão
-------------------------------

// Põe impressoras em um COMBO
// ---------------------------

ListAdd(COMBO_Impressoras,iListPrinter())

// Guarda impressora padrão
// ------------------------

gsImpressoraPadrao = iInfoPrinter(False)

// Orientação
// ----------

iParameter("ORIENTATION=PORTRAIT")
ou
iParameter("ORIENTATION=LANDSCAPE")

// Configuração
// ------------

IF sParDestino = "PREVIEW" THEN

iConfigure(sParImpressora)
iPreview(ipvZoomPageWidth,sParTituloImpressao)

ELSE IF sParDestino = "PRINTER"

iConfigure(sParImpressora)
iDestination(iPrinter,sParTituloImpressao)

ELSE IF sParDestino = "PDF"

iDestination(iGenericPDF,sParArquivoPDF)

END

// Criação de fontes
// -----------------

iCreateFont(1,12,iBold + iItalic,"Arial",0) // Angle só funciona
iCreateFont(2,12,iNormal,"Arial",90) // a partir da 27

// Imprimir texto, número ou valor
// -------------------------------

// A posição é em mm; ex: X1=1, X2=10 horizontal e Y1=1, Y2=5 vertical

iBorder(xPosicaoX1,xPosicaoY1,xPosicaoX2,xPosicaoY2,1) // Se quiser borda
iFont(1) // Conforme sequência do iCreateFont
nOptions is int = iCenterV + iLeft // ou iRight ou iCenterH
iPrintZone(sDadoImprimir,xPosicaoX1,xPosicaoY1,xPosicaoX2,xPosicaoY2,nOptions)

// Imprimir Box
// ------------

iBorder(xPosicaoX1,xPosicaoY1,xPosicaoX2,xPosicaoY2,nEspessura)

// Imprimir Linha ou Coluna
// ------------------------

iLine(xPosicaoX1,xPosicaoY1,xPosicaoX2,xPosicaoY2,nEspessura)

// Imprimir código de barras
// -------------------------

nOptions is int = BC_Left // ou BC_Right ou BC_CenterH
nOptions += BC_Text // para texto abaixo ou BC_NoText
nOptions += BC_NotProportional

SWITCH sOrientacao
CASE "90": nOptions += CB_90
CASE "180": nOptions += CB_180
CASE "270": nOptions += CB_270
END

MyBarCode is BarCode
MyBarCode..Content = sDadoImprimir
MyBarCode..Options = nOptions
SWITCH sNomeFonte
CASE "CODE128": MyBarCode..TypeBarCode = BC_CODE128
CASE "EAN13": MyBarCode..TypeBarCode = BC_EAN13
CASE "INTER2OF5": MyBarCode..TypeBarCode = BC_INTER2OF5
CASE "CODE39": MyBarCode..TypeBarCode = BC_CODE39
END

iPrintBarCode(MyBarCode,xPosicaoX1,xPosicaoY1,xPosicaoX2,xPosicaoY2)

// Imprmir QRCode
// --------------

MyBarCode is BarCode
MyBarCode..Content = sDadoImprimir
MyBarCode..TypeBarCode = BC_QRCODE

iPrintBarCode(MyBarCode,xPosicaoX1,xPosicaoY1,xPosicaoX2,xPosicaoY2)

// Imprimir imagem
// ---------------

bufImagemImprimir is Buffer = Decode(sDadoImprimir,encodeBASE64)
ImagemImprimir is Image = bufImagemImprimir

iPrintImage(ImagemImprimir,xPosicaoX1,xPosicaoY1,xPosicaoX2,xPosicaoY2,iHomotheticDisplay)

// Pular página
// ------------

iSkipPage()

// Finalizar impressão
// -------------------

iEndPrinting() // Neste momento é que imprime ou mostra preview

// Reset nas definições
// --------------------

iReset()

// Retorna impressora padrão
// -------------------------

iConfigure(gsImpressoraPadrao)

Bons estudos

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/