Я ищу хороший модуль Python для создания штрих-кодов pdf417. Кто-нибудь пользовался тем, что ему понравилось?
В идеале я хотел бы иметь как можно меньше зависимостей и работать как на Linux, так и на MacOSX.
Я ищу хороший модуль Python для создания штрих-кодов pdf417. Кто-нибудь пользовался тем, что ему понравилось?
В идеале я хотел бы иметь как можно меньше зависимостей и работать как на Linux, так и на MacOSX.
Недавно нам тоже пришлось столкнуться с этой проблемой, и, будучи магазином Python, мы хотели получить решение Python. Стало ясно, что elaphe — это проект, который потенциально мог создать штрих-код pdf 417.
Однако то, что мы обнаружили, было ошибками по сегодняшним меркам, и поэтому мы начали охоту, чтобы исправить библиотеку. Оказывается, elaphe должен генерировать устаревшую форму почтового скрипта *.eps, которая не может быть интерпретирована скриптом-призраком, и именно здесь генерация штрих-кода терпит неудачу.
К счастью, elphae за кулисами использует общую библиотеку Barcode Writer in Pure PostScript @ http://bwipp.terryburton.co.uk
Это общая внутренняя библиотека, в которой есть много проектов на нескольких языках, использующих ее для создания проектов. Исправление специально для нас состояло в том, чтобы разветвить elaphe и исправить его генерацию файла *.eps.
Чтобы определить, что повреждено в *.eps, посмотрите на этот другой сайт, созданный с использованием postscriptbarcode, и он позволяет вам генерировать штрих-код pdf417 онлайн (а также другие форматы): http://www.terryburton.co.uk/barcodewriter/generator/
После того, как вы сгенерируете штрих-код pdf417, вы сможете загрузить файл .png, .jpg и ДА файл .eps!
Используя этот файл .eps, вы можете передать его скрипту-призраку и настроить параметризацию, чтобы получить точный штрих-код pdf417, который вы ищете. Затем возьмите этот результат и интегрируйте его в библиотеку elaphe и фактически получите запрос на включение этой штуки....
Кажется, это немного работы, но ничего такого, что нельзя было бы выбить за полдня. Идеально было бы вернуть библиотеку elaphe в форму, чтобы генерировать их без внесения этого улучшения.
Обратите внимание, что производительность этого подхода для нас составляет несколько секунд для создания этого штрих-кода из-за того, что он создает файл eps из 2000 строк и передает его скрипту-призраку, который генерирует другой файл изображения, который мы отправляем обратно в качестве окончательного результата штрих-кода. Это не такая производительность, как code128 с reportlab.
Возможно, есть место для оптимизации: в любом случае подушка быстрее, чем PIL? Нужны ли нам все части файла eps для генерации штрих-кода типа pdf417? Другие способы оптимизации?
В любом случае, отличный вопрос, Кен, и я надеюсь, что вы найдете отличный ответ.
Я предполагаю, что проблема в elaphe, о которой Маттиус сообщил в 2013 году, была исправлена, поскольку с тех пор в журналах проблем и коммитов отображаются обновления темы pdf417.
Во всяком случае, теперь есть несколько других вариантов (в списке есть pip search elaphe или pip search pdf417):
elaphe протестирован против python3) ;Все, кроме pdf417gen, поддерживают несколько типов штрих-кодов.
Обратите внимание, что документация bwipp (на которой основаны elaphe и treepoem) упоминает только 5 уровни исправления ошибок (от 1 до 5), а pdf417gen утверждает, что поддерживает 9 уровней безопасности (0 до 8).
В Reportlab есть расширение rlbarcode, но оно не поддерживает коды pdf417. Я не знаю никакого другого расширения для reportlab, включая поддержку штрих-кодов pdf417.
В любом случае, если вас интересует генерация кодов pdf417 из Python, вам может быть интересен этот проект: elaphe< /а>.
Я еще не тестировал его (на самом деле мне нужно сгенерировать pdf417 из python, и я нашел эту ветку, а также страницу проекта elaphe). Я собираюсь загрузить инструменты elaphe, чтобы протестировать его прямо сейчас.