Skip to content

adlibre/django-bcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Barcode Printer for Django

This is a reusable Django application which generates PDF barcodes in various formats with a human and machine (OCR-A) readable textual label.

These barcodes are rendered as a PDF with embedded JavaScript which prompts the PDF to be immediately printed.

Currently this is used by Adlibre DMS for document barcode generation, but this application is generic and can be reused in any Django app that requires barcode printing.

ReportLab is used for the barcode generation. And the following formats are supported:

  • Code39 (3 of 9),
  • Code128.

However it would be trivial to add support for any format that ReportLab supports.

Example

Barcode automatically printing from URL:

Barcode Printer for Django - Automatic Printing

Installation

If you use pip then the dependencies and requirements will be taken care of:

Prod:

pip install git+git://github.com/adlibre/django-bcp.git

Dev:

pip install -e [email protected]:adlibre/django-bcp.git#egg=bcp

N.B. ReportLab Bug

ReportLab 2.5/2.6 has a typo. "OpenActions" should be "OpenAction" as per ISO 32000-1:2008.

diff -r broken/lib/python2.7/site-packages/reportlab/pdfbase/pdfdoc.py fixed/lib/python2.7/site-packages/reportlab/pdfbase/pdfdoc.py
1022c1022
<         Dests Outlines Pages Threads AcroForm Names OpenActions PageMode URI
---
>         Dests Outlines Pages Threads AcroForm Names OpenAction PageMode URI

You will need to manually patch this, otherwise the barcode will not automatically print:

sed -i -e 's@OpenActions@OpenAction@g' lib/python*/site-packages/reportlab/pdfbase/pdfdoc.py