We recently had to approach this issue, and as a Python store, we wanted a Python solution. It became clear that elaphe was a project that had the potential to actually execute the pdf 417 barcode.
However, we found that these were errors by today's standards, and so we introduced a hunt to fix the library. It turns out that elaphe should generate an obsolete * .eps post script form that cannot be interpreted by a ghost script, and this will cause barcode generation to fail.
Fortunately, elphae uses the Barcode Writer shared library behind the scenes at Pure PostScript @ http://bwipp.terryburton.co.uk
This shared backend library, which has many projects in several languages, uses it to generate projects. The fix, especially for us, was for the elaphe plug, and fix it * .eps file generation.
To determine what is broken in * .eps, look at this other site created using postscriptbarcode and it will allow you to create the pdf417 barcode online (as well as other formats): http://www.terryburton.co.uk/ barcodewriter / generator /
Once you create the pdf417 barcode, it gives you the option to download the .png, .jpg and YES.eps file!
Using this .eps file, you can pass it to a ghost script and adjust the settings to get the exact pdf417 barcode you are looking for. Then take this result and integrate it into the elaphe library and actually get a transfer request for this thing ....
It seems to be a little work, but nothing that could not be knocked out during the day. This is the perfect solution to get the elaphe library back in shape to create them without making this improvement.
Please note that the performance of this approach for us is a few seconds to generate this barcode because it creates an eps 2000 line file and passes it to a ghost script that generates another image file, which we send back the final result barcode. This is not as good as code128 with reportlab.
Perhaps a place for optimization: is there a pillow faster than PIL? Do we need all parts of an eps file to create a pdf417 barcode? Other optimization methods?
Anyway, the big question is Ken and I hope you find this to be a great answer.