Seeing that you haven't had other responses, I'll jump in.

It's not clear what your question is. I understood it to be: "What control 
sequences can I send to a PCL-5 compatible printer that will cause minimal 
style changes (bold, underline, maybe height and pitch), and allow me to 
center some text?"  Is that it? If not, please restate the question. If I 
got it right, continue.

There are some quite simple sequences in PCL-5 to do this. For example:
   <Esc> & d 0 D Underline on 
   <Esc> & d @ Underline off 
   <Esc> ( s 3 B Bold on 
   <Esc> ( s 0 B Bold off 
   <Esc> ( s 1 7 H Pitch = 17 character per inch
(horizontal)
   <Esc> ( s 1 0 H      Pitch = 10 character per inch

These are available in multiple places online. Wherever I say "<Esc>", 
that is the escape character, which is decimal 27 or hex 1B.

It is also good practice to start the job out with a reset code:
   <Esc> E
and then to initialize everything you could otherwise only hope would be 
set right in the printer's front panel, such as paper size, orientation, 
typeface, and linespacing.

Centering text is a bit harder. As long as you know the horizontal spacing 
(pitch), and you're in a fixed-pitch font, you can do some math and insert 
some initial spaces in order to push the following text over to the right 
a certain amount. Or use a PCL sequence for horizontal positioning, 
before printing.

However, if you get into variable-pitch text, such as Arial or 
Times-something, it gets difficult. The only way I know is to switch into 
HPGL mode and set the positioning mode to centered.

Oh, I just remembered another technique I saw somewhere (and thought was 
clever): set the pitch so that characters are half as wide as normal (that 
is, twice the pitch) and set the text to invisible, and rotate 180 
degrees. Position the cursor to the center of the sequence, then issue the 
text. This will space to the left exactly half the width of the normal 
text. Then set things back to normal and print.

As I said above, all of this is dependent on printing to a known kind of 
printer, a PCL-5 compatible one. For a more general solution, you 
might look at our Print Wizard software. It allows you to specify changes 
using an HTML-like language called Print Wizard Markup Language (PWML). 
You can switch to bold with simply "<B>", and out of bold with "</B> (just 
like in HTML). There are other markup tags for centering, underline, pitch 
changes, height changes, etc., as well as some for paper size, 
orientation, and duplexing. This gives you complete device independence.

More on Print Wizard is at 
   www.anzio.com

On Fri, 23 Sep 2011, David Grenfell wrote:

> 
> Sorry guys.  I should have said "DEVICES FILE" not "PRINTERS FILE " in my 
> request below. 
>  
> 
> 
> 
> From: [email protected]
> To: [email protected]
> Subject: wlp
> Date: Thu, 22 Sep 2011 20:00:13 -0500
> 
> 
> 
> 
> 
> Hi guys:
>  
> I'm back for another kick at using a windows printer from jbase;
>  
> I have built my own printer system in that I specify from inside an 
> application what type of printer I need.  For example a  "L"abel printer, 
> "S"tatement printer etc.
>  
> When the application runs, it then pulls a menu of printers that can handle 
> this type of paper, and displays the menu of all printers available for it.  
> The operator then choosed a printer, whether it be local or remote and the 
> report is printed on the chosen printer.  I got this idea from Windows.  In 
> an older version, I used to select the printers automatically from number of 
> the port that the terminal was attached to, but this idea got squashed when 
> networking came to bear. 
>  
> I can do this because I use the old 'printers' file as drivers for an epson 
> or HP laser printer so that I replace my solid code such as ".bold  text" 
> with the appropriate code either for epson or HP laser. Of course the 
> printing is done throught the que that is attached to the appropriate printer.
>  
> Since my printing all comes out left justified when using the wlp printer 
> driver.  I am assuming that I must write a driver for the windows printer 
> too.  So , for example what would be a simple code fed to the printer that 
> would:
>  
>  Print a specified font (ie courier bold, in 12 pt, and centred on the page.  
> I only use regular , bold, underline,  and point size.  So give me one, and I 
> can figure out the rest.
>  
> Statement to create my que is:
>  
>    XXWINDOWS prog  wlp -d "xx windows printer"
>  
> the "XX" in the above could be a store desigation etc.
>  
> Thanks again.  This problem has been haunting me since I was a pup.
>  
> Dave
>                                         
> 
> -- 
> 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
> 

Regards,
....Bob Rasmussen,   President,   Rasmussen Software, Inc.

personal e-mail: [email protected]
 company e-mail: [email protected]
          voice: (US) 503-624-0360 (9:00-6:00 Pacific Time)
            fax: (US) 503-624-0760
            web: http://www.anzio.com
 street address: Rasmussen Software, Inc.
                 10240 SW Nimbus, Suite L9
                 Portland, OR  97223  USA

-- 
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

Reply via email to