2011-08-16 6 views
4

Я ищу хороший модуль python для создания штрих-кодов pdf417. Кто-нибудь использовал тот, который им нравился?Любые хорошие pdf417 библиотеки штрих-кода для Python?

В идеале я хотел бы иметь как можно меньше зависимостей, а другой - как для Linux, так и для MacOSX.

+0

Какие у вас были проблемы? Ребята на http://www.reportlab.com имеют исходную версию своей библиотеки, которая отлично подходит для меня. –

+0

Я использую reportlab для штрих-кода code128, но я не думаю, что они поддерживают pdf417. Знаете ли вы, если он поддерживается, я могу найти любую документацию о том, какие типы они больше поддерживают. –

+0

Вы ищете библиотеку для создания штрих-кодов? декодировать штрих-коды? и то и другое? –

ответ

0

Reportlab имеет расширение, называемое rlbarcode, но это не включает поддержку кодов pdf417. Я не знаю никаких других расширений для reportlab, включая поддержку штрих-кодов pdf417.

В любом случае, если вас интересует генерация pdf417 кодов от python, вы можете быть заинтересованы в этом проекте: elaphe.

Я все еще не тестировал его (на самом деле, мне нужно создать pdf417 из python, и я нашел этот поток, а также страницу проекта elaphe). Я собираюсь загрузить инструменты elaphe, чтобы проверить его прямо сейчас ,

+0

Хорошо спасибо, если вы попробуете elaphe, дайте мне знать, как это происходит. –

7

Нам также пришлось подойти к этой проблеме, и, будучи магазином Python, мы хотели получить решение Python. Стало ясно, что elaphe - это проект, который имел потенциал для фактического выполнения штрих-кода pdf 417.

Однако мы обнаружили, что это ошибки по сегодняшним стандартам, и поэтому мы ввели охоту, чтобы исправить библиотеку. Оказывается, elaphe должен генерировать устаревшую форму сценария * .eps post, который не может быть интерпретирован призрачным скриптом, и именно здесь происходит сбой генерации штрих-кода.

Ну к счастью elphae использует общую библиотеку за кулисами называемых штрих-Writer в Pure PostScript @http://bwipp.terryburton.co.uk

Эта общая библиотеки бэкенд, который имеет множество проектов несколькими языками, используя его для создания проектов. Исправление, специально для нас, было для fork elaphe, и исправить это * .eps генерация файла.

Чтобы определить, что нарушается в * .eps, посмотрите на этот другой сайт, который сделан с использованием postscriptbarcode, и давайте вы генерирующими PDF417 штрих-кода в Интернете (а также другие форматы): http://www.terryburton.co.uk/barcodewriter/generator/

После того как вы сгенерируйте штрих-код pdf417, он даст вам возможность загрузить .png, .jpg и YES .ps-файл!

Используя этот .eps-файл, вы можете подключить его к сценарию призрака и настроить параметры, чтобы получить точный штрих-код pdf417, который вы ищете. Затем возьмите этот результат и проинтегрируйте его в библиотеку elaphe, и на самом деле получите запрос на перенос на эту вещь.

Кажется, что это немного работа, но ничего, что нельзя выбить днем. Это идеальное решение вернуть библиотеку elaphe в форму, чтобы создать их, не делая этого улучшения.

Обратите внимание, что производительность этого подхода для нас составляет несколько секунд, чтобы сгенерировать этот штрих-код из-за того, что он создает файл в формате eps 2000 строк и передает его в сценарий призрака, который генерирует другой файл изображения, который мы отправляем обратно в качестве окончательный результат штрих-кода. Это не такая производительность, как code128 с reportlab.

Возможно, место для оптимизации: есть ли подушка быстрее, чем PIL? Нужны ли нам все части файла eps для создания штрих-кода типа pdf417? Другие способы оптимизации?

В любом случае, отличный вопрос. Кен, и я надеюсь, вы найдете, что это отличный ответ.

2

Я думаю, что проблема в elaphe, о которой сообщает Matteius в 2013 году, исправлена, поскольку с тех пор журналы проблем и фиксации показывают обновления по теме pdf417.

Во всяком случае, в настоящее время существует несколько других вариантов (получил список либо pip search elaphe или pip search pdf417):

  • elaphe;
  • elaphe3 (fork of elaphe проверено на python3);
  • candybar (без документации? Также a webservice);
  • pdf417gen;
  • treepoem (о названии: штрих-код -> кора ода -> стихотворение дерева = D) - изменить: не выкопал проблему, но на сегодняшний день поколение PDF417 кажется сломанным.

Все, кроме pdf417gen, поддерживают несколько типов штрих-кодов.

Обратите внимание, что документация bwipp (на которых основаны elaphe и treepoem) only mentions 5 уровней коррекции ошибок (от 1 до 5), в то время как pdf417genclaims to support 9 уровней безопасности (от 0 до 8).

+0

Интересно, я только что видел ваш комментарий об этом и сделаю заметку, чтобы попробовать. – Matteius