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