Skip to content
Barcode Writer in Pure PostScript
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
build Project homepage now using HTTPS. Feb 16, 2018
contrib Pseudorandom LCG development Jul 17, 2018
docs Regenerate documentation. May 25, 2018
libs Project homepage now using HTTPS. Feb 16, 2018
packaging-examples Project homepage now using HTTPS. Feb 16, 2018
src databarlimited: Fix error message label. Mar 11, 2019
travis-github-release @ a02023a Project homepage now using HTTPS. Feb 16, 2018
wikidocs @ fce1147 Project homepage now using HTTPS. Feb 16, 2018
Makefile Project homepage now using HTTPS. Feb 16, 2018

Barcode Writer in Pure PostScript

GitHub license Release Github commits (since latest release) Travis

Useful links:

Barcode Writer in Pure Postscript (BWIPP) generates all barcode formats entirely within PostScript so that the process of converting the input data into the printed output can be performed by the printer or RIP itself. This is ideal for variable data printing (VDP) and avoids the need to re-implement the barcode generation process whenever your language needs change.

Since this resource is written in PostScript and interpreted within the virtual machine of a printer it is compatible with any operating system and hardware platform.

It makes including any barcode within a PostScript document as simple as inserting the following directive:

0 0 moveto (978-1-56581-231-4) (includetext)
/isbn / findresource exec

There is a web-based demonstration of the project here:

This project is dedicated to the memory of Craig K. Harmon.

"Flavours" of Named Resources

BWIPP is essentially a set of generic PostScript Level 2 named resources that are provided in four flavours for ease of use. The one to use depends on how you intend to deploy the library.

  • "Packaged" or "unpackaged": The named resources have been packaged for DSC conformance, portability and ease of distribution. You will most likely want to use a packaged flavour in production, however the unpackaged versions of the resources are useful for understanding the code, developing the library and debugging.

  • "Separate files" or "monolithic": The resource is provided as separate files that are formatted for direct use by Adobe Distiller, GhostScript, a printer hard disk or a document manager. The monolithic flavours contain all of the resources in a single file that is suitable for inclusion in the Prolog section of a each PostScript document or installing to a printer's initial job VM to provide persistence between jobs until the device is reset.

This leads to the following set of four files.

For production use:

  • postscriptbarcode-packaged-resource – Packaged; Separate files.
  • postscriptbarcode-monolithic-package – Packaged; Monolithic file.

For BWIPP development:

  • postscriptbarcode-resource – Unpackaged; Seperate files.
  • postscriptbarcode-monolithic – Unpackaged; Monolithic file.


You can download prepared packages and the sources from here:

Alternatively you can get and build the latest from version control:

git clone
cd postscriptbarcode

The flavours are built into subdirectories of the build/ directory.

The build requirements are Perl, GNU Make and GhostScript.

You can’t perform that action at this time.