Skip to content
Terry Burton edited this page Jan 23, 2024 · 14 revisions

FAQs

How do I include BWIPP in a messy PostScript document?

Many automatically generated PostScript documents include boilerplate resources (procedure sets, etc.) that pollute the VM environment such then when the BWIPP resources are defined or invoked the meaning of standard operators has been redefined leading to erratic or broken behaviour.

You can often protect against this by wrapping a standard invocation such as this:

100 300 moveto (1234567) () /qrcode /uk.co.terryburton.bwipp findresource exec

with code that removes the user dictionaries from the stack such as this:

countdictstack array dictstack dup length 3 sub 3 exch getinterval cleardictstack
100 300 moveto (1234567) () /qrcode /uk.co.terryburton.bwipp findresource exec
{begin} forall

It may occasionally be necessary to wrap the BWIPP resource definitions using the same technique.

Scanning ISBNs

When an ISBN symbol is read by a barcode scanner that echos digits to a PC, the data string that is returned is most likely going to be the plain contents of the EAN-13 encoded symbol, i.e. 9781565924796, not 1-56592-479-7. Whether the scanner returns the former string or the latter they nevertheless represent the one same value despite appearing somewhat different.

How do I integrate barcodes into my web site or application?

BWIPP is essentially a versatile library and is not necessarily a "turn key" solution by itself.

If you are a programmer then there are several language bindings that allow you to work with BWIPP without direct knowledge of PostScript. If you are not a programmer then there are a number of frontends that may be useful.

Clone this wiki locally