Создание штрих-кодов на сайте Django - PullRequest
5 голосов
/ 02 июля 2011

Я хочу добавить генерацию штрих-кода на сайт Django и удивляться, какая будет лучшая библиотека или API. Первое, что я предпочитаю, это что-то вызываемое из Python - либо написанное на Python, либо библиотека C / C ++, которую я могу обернуть с помощью ctypes / SWIG. В противном случае я могу вызвать в командной строке, если должно быть.

Мне нужны как минимум символы EAN и UPC.

Я пробовал pybarcode, но качество изображения слишком низкое. И Elaphe выглядит многообещающе, но из интерпретатора Python все, что я мог сделать, это QR-код - EAN и UPC допустили ошибку (возможно, потому что синтаксис / использование было неясно из документации).

Ответы [ 3 ]

7 голосов
/ 02 июля 2011

Используйте pybarcode и генерируйте штрих-код как SVG: http://packages.python.org/pyBarcode/barcode.html#creating-barcodes-as-svg

В этом случае проблем с качеством изображения нет.

0 голосов
/ 09 марта 2019

Эта ветка довольно старая, но в случае, если кто-то еще ищет ответ на этот вопрос ... code39 - это шрифт, как и большинство типов штрих-кода.Вы можете просто использовать шрифты Google: https://fonts.google.com/specimen/Libre+Barcode+39+Extended+Text?selection.family=Libre+Barcode+39+Extended+Text

Помимо этой опции, вы можете размещать статические файлы, одним из решений может быть этот проект на github:

https://github.com/Holger-Will/code-39-font

В этом проекте все, что вам нужно, это файлы, связанные с нужным вам размером, и файл code39_all.css.Остальное вы можете удалить, если хотите.

Для справки, я использую оба здесь:

{% load staticfiles %}
{% load static %}
<html>
  <head>
    <link href="https://fonts.googleapis.com/css?family=Libre+Barcode+39+Extended+Text" rel="stylesheet">
    <link rel="stylesheet" href="{% static 'code-39-font-master/code39_all.css' %}"/>
  </head>   
  <body>
    <style>

        body {
            font-family: 'Libre Barcode 39 Extended Text', cursive;
            font-size: 48px;
        }
    </style>
      <div>I'm just a code39 google font</div>
      <div><class="code_39_S">I'm generated with static files!</div>

  </body>
</html>
0 голосов
/ 04 февраля 2016

reportlab может быть хорошей альтернативой pybarcode, особенно при использовании некоторых других его функций.

В Django есть инструкция для barcodes с reportlab, которая хорошо работает для меня.https://code.djangoproject.com/wiki/Barcodes

...