[barcode] streaming mode for pcl output
Wolfgang Rohdewald
wolfgang@rohdewald.de
Sun Jul 26 23:40:21 CEST 2009
Hi,
I needed to add barcode output to a legacy application that generates
PCL5. So I tried barcode but since it always does absolute cursor
addressing and outputs a form feed I could not have used it like that.
I was originally planning to deliver several patches but I worked
against the released 0.98 and only when I was done found the cvs
online repository. So now it is just one patch but still manageable
I think.
It does:
1. remove unused variable k from pcl.c
2. use relative cursor positioning in pcl.c. Only the first
positioning is absolute. This introduces the usage of
3 more PCL commands: ESC *v#O, ESC *v#T, ESC &a#P. As
far as I know they were always part of PCL5 and all PCL5 printers
I know support it. Using them is the only way I know to
print columns right aligned with PCL (unless you use monospace
fonts of course). The produced PCL output is shorter (could
be shortened even more but unimportant) and does not contain
line feeds anymore.
3. introduce a new streaming mode "-s". Only for pcl output and not
in table mode (this is checked for). In this mode, everything is
done in relative address mode. Default is to position the bar-
code such that its text is aligned with previously printed text.
After printing the barcode, cursor is at same Y but X is after the
barcode, using bc->margin for distancing. In streaming
mode, the charset encoding and the font are never changed, it is
expected to be done by the surrounding PCL code generated by the
printing application.
4. allow negative values for -g xoffset and yoffset
like -g 30x20+5-1.5 for fine tuning the position.
Use case: The application might generate a line like
Reinigungsmittel: EAN13START -b761005201696 -g30x10 EAN13END
Then a filter will replace that by the output of barcode. Options
-s and -P are default.
I also have a python program that scans PCL5 and makes PDF out of
it, using the PyQt4 libraries. That will become open source too
some time this year. Of course it only does just what I need.
It supports defining background images like company logos, and
since today it also handles barcode output.
--
Wolfgang
-------------- next part --------------
A non-text attachment was scrubbed...
Name: streaming.patch
Type: text/x-patch
Size: 6600 bytes
Desc: not available
URL: <http://lists.linux.it/pipermail/barcode/attachments/20090726/20f6d27d/attachment.bin>
More information about the barcode
mailing list