Quantcast
Channel: SCN : Discussion List - PowerBuilder Developer Center
Viewing all articles
Browse latest Browse all 2881

PB 12.5 Classic: Send EPL to printer

$
0
0

Hi,

 

we have an EPL output file and need to redirect it to a label printer. How can it be implemented? Over PrintJob or WindowsApi? I 've some test but nothing works yet.

 

1 Try:

 

PrintSetPrinter("LABEL_PRINTER")

 

 

ulong li_job

 

 

li_job = PrintOpen("LABEL_NAME")

 

 

print(li_job, "~r~n")

print(li_job,"N~r~n")

print(li_job,"A50,100,0,3,1,1,N"+"Example 3"+ "~r~n")

PrintClose(li_job)

 

2 Try:

 

External Functions:

 

function integer OpenPrinter ( string pPrinterName, ref ulong phPrinter, printer_defaults pDefault ) Library "winspool.drv" ALIAS FOR "OpenPrinter;Ansi"

function integer ClosePrinter ( ulong phPrinter ) Library "winspool.drv"

Function integer EndDocPrinter (Long hPrinter) library "winspool.drv"

Function integer EndPagePrinter (Long hPrinter) library "winspool.drv"

Function integer StartDocPrinter (Long hPtinter, Long Level, DocInfo pDocInfo) library "winspool.drv" ALIAS FOR "StartDocPrinter;Ansi"

Function integer StartPagePrinter (Long hPrinter) library "winspool.drv"

Function integer WritePrinter (Long hPrinter, String pBuf, Long cdBuf, ref Long pcWritten) library "winspool.drv"

 

 

$PBExportHeader$docinfo.srs

global type docinfo from structure

  integer cbsize

  string lpszdocname

  string lpszoutput

  string lpszdatatype

end type

 

$PBExportHeader$printer_defaults.srs

global type printer_defaults from structure

  long pDataType

    long pDevMode

    long DesiredAccess

end type

 

 

String ls_text, ls_printer

long ll_null, ll_pos

ulong ll_printer

Boolean ll_bol

integer ll_ret,l_doc

docinfo mydocinfo

setnull(ll_null)

printer_defaults pd

 

 

pd.desiredaccess = 4

ls_printer="\\PSVM7.HVEA.HEALTHNET.LU\PR890-64"

 

 

ll_ret = OpenPrinter(ls_printer,ll_printer,pd)

if ll_ret = 0 then

messagebox("","Error")

else

mydocinfo.lpszdocname="label"

setnull(ls_text)

mydocinfo.lpszoutput=ls_text

mydocinfo.lpszdatatype=ls_text

l_doc=StartDocPrinter(ll_printer,1,Mydocinfo)

StartPagePrinter(ll_printer)

ls_text=""

ls_text= ls_text+ "q3000~r~n"

ls_text= ls_text+ "N~r~n"

ls_text= ls_text+ "A220,5,0,2,1,2,R,XXXXXX~r~n"

ls_text= ls_text+ "A200,43,0,2,1,1,N,XXXX~r~n"

ls_text= ls_text+ "P1~r~n"

ll_ret=WritePrinter(ll_printer,ls_text,len(ls_text),ll_null)

ll_ret=EndPagePrinter(ll_printer)

ll_ret=EndDocPrinter(ll_printer)

ll_ret = ClosePrinter(ll_printer)

end if

 

 

Some ideas?

 

regards


Viewing all articles
Browse latest Browse all 2881

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>