Board index » delphi » Printer Drivers.

Printer Drivers.

I am looking for information on the low level parallel-port interface to a
printer - ie how the data is formatted and the control codes which are used
by any of the standard printer control languages emulated by most cheap
bubblejet printers (ie NOT postscript !).  What I'm basically after is some
source code for the a general purpose printer driver.

My eventual aim is to print graphics from an embedded microcontroller
straight to a bubblejet / laser and I'd like to try out a few things before
starting to write anything in microcontroller assembler !!

Any info on this subject would be most welcome.

Andre.   ( a.r.mccu...@ex.ac.uk )
--

 

Re:Printer Drivers.


Quote
se92...@exeter.ac.uk (A.R.McCurdy) wrote:
>I am looking for information on the low level parallel-port interface to a
>printer - ie how the data is formatted and the control codes which are used
>by any of the standard printer control languages emulated by most cheap
>bubblejet printers (ie NOT postscript !).  What I'm basically after is some
>source code for the a general purpose printer driver.
>My eventual aim is to print graphics from an embedded microcontroller
>straight to a bubblejet / laser and I'd like to try out a few things before
>starting to write anything in microcontroller assembler !!
>Any info on this subject would be most welcome.
>Andre.   ( a.r.mccu...@ex.ac.uk )
>--

You can always output directly to the printer port, but it is
generally better to write a binary value to LPT1.  Data is 8 bit
parallel.

For graphics and such.  PCL5 emulates HPGL, a plotter language.
Borrow an HP book and look at the language descriptions.  For the
standard LaserJet stuff, the most recent is PCL3, again, should be in
the printer book.  For dot matrix printers, it is generally an
emulation of EPSON codes and modes, although there is no guarantee.

For raster graphics/screen dump/weird graphics characters you design,
you'll have to recreate a binary map of a line, and encode that as
required by your dot matrix printer.  You output that and the printer
will eventually do a line of dots by whatever depth there is in the
printhead.

Laser printers are different, and page oriented.  You build up the
page image similarly, and then tell it to print.  Vector graphics are
worse, and I haven't done them.  I suggest you'd have to build a page
image somewhere, draw to it, then read off the bits as needed.

Does this help?

Harvey

***
  I just read minds,
  I don't explain them
***

Other Threads