Greetings "Don Cox" <doncox enterprise.net>
On 11/02/2007 at 15:29 you wrote concerning
[PageStreamSupport] Re: PCL or PostScript
Hi Don Cox,
DC> On 10/02/07, Don Ferguson wrote:
DC>> When a 'proper' PostScript program is sent to a
PostScript capable
DC>> printer, there is no translation process. The
printer has "a
DC>> Postscript engine" within it and that engine
understands the
DC>> PostScript language and will transform PostScript
directives into
DC>> appropriate printer commands for the particular
printer. For example,
DC>> I assume that "the PostScript engine"
within an HP laser printer would
DC>> be quite different from one within a Brother
laser printer, assuming
DC>> both were PostScript capable.
DC>>
DC> Probably not. The output from a Postscript
interpreter is a bitmap image
DC> at the resolution specified.
I grant that the term "PostScript engine" is not
very specific, nonetheless, I
disagree with your "Probably not" comment. I'm
referring to the process that a
PostScript engine must go through to instruct a specific
printer what that
printer is supposed to do. Not the final product that
appears on paper.
For example, if the PostScript engine must tell the printer
to go into Duplex or
Simplex mode, then the appropriate PCL instruction is:
Esc & el # S
where:
'Esc' represents the "Escape character"
'&' is the familiar ampersand character
'el' represents the character "lowercase L". HP
uses a lowercase L in a script
font in order that it will not be confused with the digit
'1'. Thus 'el'
represents a single character. The distinction between '1'
(digit one) and 'l'
(lowercase L) is barely discernible (to my eyes) on this
1280x1200 screen.
'#' represents one of the numeric values 0, 1, or 2 with the
interpretation
if # is 0, then Simplex mode is called; i.e., no duplex
if # is 1, then Duplex, Long-Edge binding is called
if # is 2, then Duplex, Short-Edge binding is called
'S' marks the completion of this particular printer
command.
The use of the space character above is for clarity only.
The space character is
not used in PCL printer commands.
So .... if a PostScript page description calls for DUPLEX
printing and sets a
TUMBLE value that corresponds to Short-Edge binding, then
for a PCL printer,
the PostScript engine must translate that information into:
Esc & el 2 S
and no other command. On the other hand, in a PostScript
capable printer built
by Brother, the *same* PostScript description would have to
be translated into
the appropriate "printer command" for the Brother
printer, which I *assume*
would be different from the PCL command. It is in this sense
that I asserted
that the PostScript engine for the Brother printer would be
different from one
designed for a PCL printer.
Of course, if both PostScript engines (PCL and Brother) are
performing
correctly, then one would expect that the same bitmap would
be printed onto
paper, if the printing capabilities were the same (e.g.,
both printing at
300x300 dpi or .....).
DC> What would be different is the way the printers
transfer that image to
DC> paper.
I don't doubt for a minute that the technology used by the
different printers
would be different, but that is irrelevant to the
discussion.
DC>> If you have an editor which will handle binary
codes -- e.g., will
DC>> recognize the Escape character, and other
"Control characters" -- then
DC>> you can edit a PCL file. However, I don't know
how you would get your
DC>> hands on the "PCL file" in the first
place.
DC> Collect it from a print spooler?
Perhaps, if one "printed to file" and then
examined the resulting file which
might be written in PCL??? I'm not sure. Never tried it.
DC>> If you have the patience
DC>> and knowledge of PCL codes, you could prepare a
PCL document and then
DC>> send it to your PCL equipped printer for
printing. Although feasible,
DC>> I cannot imagine anyone doing that for 'ordinary'
printing.
DC>>
DC> But the author of a printer driver would have to do
that.
Of course, but what has that got to do with "ordinary
printing"?
Here is a short piece of PCL code:
Esc * p 300 x 400 Y
Esc * c 900 A
Esc * c 1500 B
Esc * c 0 P
Esc * p 600 x 700 Y
Esc * c 300 a 600 B
Esc * c 1 P
I remind everyone that the space character above is intended
to make the code
'easier' to read; their
occurrences above are not allowed in PCL printer
commands.
What the above collection of commands is intended to do is
(according to the HP
manual for PCL 5);
"To print a 900 by 1500 Unit black rule (3 inches by 5
inches at 300
units-per-inch), then white fill a small area inside the
black rectangle."
What I was trying to suggest is that most 'ordinary' users
would not be strongly
motivated to create documents using the kind of coding that
you find in the
example above.
Cheers Don (Green Dragon)
--
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http
://groups.yahoo.com/group/PageStreamSupport/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/PageStreamSupport/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:PageStreamSupport-digest@yahoogroups.com
mailto:PageStreamSupport-fullfeatured@yahoogroups.com
<*> To unsubscribe from this group, send an email to:
PageStreamSupport-unsubscribe@yahoogroups.com
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.c
om/info/terms/
|