It's local. And I have printed to it direct via the lp program. Daniel Klein wrote: > Is 'HPLJ6' a local or network printer? > > If it's a network printer then you would have to create the form queue > like this: > > SP-CREATE GPRINT PROG C:\CWS\DEMO\BIN\JSPOOL.EXE \\server_name\HPLJ6 > > Dan > > On Fri, Jul 3, 2009 at 8:29 PM, Daniel Klein<[email protected]> wrote: > >> I see 2 distinct problems, one is obvious, the other is going to take >> some debugging on your part. >> >> The 'obvious' one is the 'HELLO' code. If you've read the DOSPrinter >> documentation says that the embedded string must be of the form: >> >> <esc>"graphic" >> >> so you need to change line 7 to: >> >> 004 PRINT CHAR(27):DQUOTE('C:\SIGNATURES\836-1.BMP') >> >> Wrt 'the other problem'... >> >> is 'openseq_creates = true' set in 'Config_EMULATE' ? >> >> is 'HPLJ6' the correct name of the printer, as seen in the printer's >> 'properties' ? >> >> If you go to Control Panel > Printers, and double-click on the >> printer, then despool the job from jBASE, does anything show up in the >> printer window? >> >> Dan >> >> >> On Fri, Jul 3, 2009 at 2:15 PM, Richard Kann<[email protected]> wrote: >> >>> Running into an issue. I set it up as you said tweaking the program to match >>> my system. When I send a job to the new printer it does run the jspool >>> program but nothing is being passed. i know this because I have jspool >>> writing out the numchars value to a file and it comes up with zero each >>> time. What would cause the spooled data to not pass to the jspool program? I >>> assume I send it like normal by doing the printer on and print statements. >>> Program below: >>> >>> 001 OPEN '','MD' TO MD ELSE STOP >>> 002 PROMPT '' >>> 003 INCLUDE JBC.h >>> 004 id = SYSTEM(21):'_':DATE():'_':TIME():'_':SYSTEM(9):'_':RND(32000) >>> 005 tempdirname = 'c:\temp' >>> 006 OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream ELSE NULL >>> 007 args = SYSTEM(1000) ;* addl parameters (like >>> 008 printername = args<2> >>> 009 LOOP >>> 010 numchars = SYSTEM(14) >>> 011 WRITE numchars ON MD,'XXXNUM' >>> 012 WHILE numchars DO >>> 013 INPUT line,numchars >>> 014 line=line:CHAR(13) >>> 015 WRITESEQ line ON outstream ELSE NULL >>> 016 REPEAT >>> 017 WEOFSEQ outstream ELSE NULL >>> 018 CLOSESEQ outstream >>> 019 cmd = "C:\DARTSCD\DOSPrinter\DOSPrinter.exe /SEL'":printername:"' " >>> 020 cmd=cmd:' /DEL ':tempdirname:DIR_DELIM_CH:id >>> 021 EXECUTE CHAR(255):'k':cmd >>> 022 END >>> >>> program doing the printing: >>> >>> 001 PRINTER ON >>> 002 PRINT 'HELLO' >>> 003 PRINT 'HOW ARE YOU' >>> 004 PRINT CHAR(27):'C:\SIGNATURES\836-1.BMP' >>> 005 PRINT 'HELLO AGAIN' >>> 006 PRINTER OFF >>> 007 PRINTER CLOSE >>> 008 END >>> >>> the above is run after assigning the GPRINT printer specs below:: >>> >>> FormQueue :GPRINT (DEVCONFIG*1) >>> Status :ASSIGNED (6) >>> DevType :PROG (2) >>> DevName :C:\CWS\DEMO\BIN\JSPOOL.EXE HPLJ6 >>> LockPid :2320 >>> Created :DEMO 0 03 JUL 2009 12:42:59 >>> Stop Reason : >>> >>> >>> Daniel Klein wrote: >>> >>> Actually, it's DOSPrinter that allows you to embed graphics in the >>> document. If you read the documentation from that link, it tells you >>> how to do this. In a nutshell, there are a few options but the way I >>> do it is to place: >>> >>> <esc>"graphic_name" >>> >>> in the document at the place you want the graphic to be. Note that >>> <esc> is char(27). >>> >>> You can generate the document so that it ends up in the jBASE spooler >>> under a form queue that is created like this: >>> >>> SP-CREATE CANON PROG c:\home\bin\jspool.exe Canon_i850 >>> >>> Here's the 'jspool.b' code that uses DOSPrinter: >>> >>> 0001 PROGRAM jspool >>> 0002 INCLUDE JBC.h >>> 0003 id = CHANGE(UNIQUEKEY(),'/',']2F') >>> 0004 tempdirname = 'c:\temp' >>> 0005 OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream ELSE >>> 0006 CREATE outstream ELSE NULL >>> 0007 END >>> 0008 args = SYSTEM(1000) ;* addl parameters (like >>> printername, cpi, lpi, font, etc) >>> 0009 printername = args<2> >>> 0010 cpi = args<3> >>> 0011 IF cpi = '' THEN cpi = 10 >>> 0012 LOOP >>> 0013 numchars = SYSTEM(14) >>> 0014 WHILE numchars DO >>> 0015 INPUT line, numchars >>> 0016 line := CHAR(13) >>> 0017 WRITESEQ line ON outstream ELSE NULL >>> 0018 REPEAT >>> 0019 WEOFSEQ outstream ELSE NULL >>> 0020 CLOSESEQ outstream >>> 0021 cmd = "C:\Software\DOSPrinter\DOSPrinter.exe /DEL >>> /SEL'":printername:"' /CPI":cpi:' ' >>> 0022 cmd := tempdirname:DIR_DELIM_CH:id >>> 0023 EXECUTE CHAR(255):'k':cmd >>> >>> If you are on jBASE 3.x then you would need to: >>> >>> a) change line 3 to something like this: >>> >>> id = SYSTEM(21):'_':DATE():'_':TIME():'_':SYSTEM(9):'_':RND(32000) >>> >>> b) change the OPENSEQ lines 5 thru 7 (inclusive) to: >>> >>> OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream NULL >>> >>> c) make sure 'openseq_creates = true' is set in your 'Config_EMULATE' >>> file under the appropriate emulation section >>> >>> And, of course, line 21 should be changed to something that makes >>> sense on your system >>> >>> You'll note that the code automagically removes the temp file when it >>> is done despooling. >>> >>> DOSPrinter has a robust array of printing options, and all for just 40 >>> smackers for a single user.*** >>> >>> Dan >>> >>> ***Note that I am in no way affiliated with this product, nor do I >>> receive any kickbacks. I just like it cos it works well and does what >>> the docs say it does, which is more than I can say for a lot of other >>> commercial software out there. >>> >>> >>> On Thu, Jul 2, 2009 at 8:55 PM, Richard Kann<[email protected]> wrote: >>> >>> >>> I will try it. What I found is if I log onto the windows account jbase runs >>> on it works. If I go on a different account it does not. But I did not try >>> the specif printer approach. >>> >>> I am assuming in order to use this I need to put the entire invoice in a >>> text file, write it out somewhere in windows and then print and delete it. >>> That is how print wizard works. >>> >>> It would be nice if jbase itself had a utility to print graphics files >>> within normal print statements. This way I would not have to re-write entire >>> programs to do this kind of printing. >>> >>> Daniel Klein wrote: >>> >>> I think you need to specify the destination printer. Here is an >>> example of what works for me: >>> >>> cmd = "C:\Software\DOSPrinter\DOSPrinter.exe /SEL'Canon_i850' >>> c:\temp\file.txt" >>> EXECUTE CHAR(255):'k':cmd >>> >>> Where 'Canon_i850' is the name of the printer; on my system it is the >>> network shared name. >>> >>> Dan >>> >>> >>> On Thu, Jul 2, 2009 at 5:38 PM, Richard Kann<[email protected]> wrote: >>> >>> >>> Thanks. One question though. It works in command prompt in windows, but when >>> I put it in a program it locks up and will not print. This is the code line. >>> Any ideas: >>> >>> EXECUTE CHAR(255):'k':'C:\TEMP\DOSPRINTER C:\TEMP\SAMPLE2.PRN' >>> >>> >>> Daniel Klein wrote: >>> >>> I use DOSPrinter for all of my printing needs. >>> http://www.geocities.com/DOSPrint/ >>> >>> It is especially handy when you have a GDI printer. >>> >>> And it is easy enough to integrate with the jBASE spooler. >>> >>> Dan >>> >>> >>> On Wed, Jul 1, 2009 at 6:40 PM, Richard Kann<[email protected]> wrote: >>> >>> >>> Hi All: >>> >>> I am trying to print a .bmp file (a signature capture) to a PCL inkjet >>> printer (Jbase version 3.4.x windows) at the bottom of an invoice. Has >>> anyone accomplished this before or knows how to do it? >>> >>> Richard Kann >>> Comp-Ware Systems, Inc. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> > > > > > >
--~--~---------~--~----~------------~-------~--~----~ Please read the posting guidelines at: http://groups.google.com/group/jBASE/web/Posting%20Guidelines IMPORTANT: Type T24: at the start of the subject line for questions specific to Globus/T24 To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en -~----------~----~----~----~------~----~------~--~---
