Перейти к содержимому
Tutorial

API генератора штрих-кодов: один POST, вывод SVG, шесть форматов.

| 5 min read

Генерируйте штрих-коды с помощью одного вызова API. Поддерживает Code128, EAN-13, EAN-8, UPC-A, ITF-14 и MSI. Возвращает SVG, который можно встраивать в этикетки, счета-фактуры или PDF-файлы.

Close-up of barcodes on product packaging
Photo by Markus Winkler on Unsplash

Приложение вашего склада печатает транспортные этикетки. Для каждой этикетки требуется штрих-код Code128 для отслеживания. номер. Вы можете установить библиотеку штрих-кодов, выполнить рендеринг на холсте, экспортировать в формате PNG и встроить в ваш шаблон этикетки. Или вы можете отправить один POST и получить обратно SVG.

Ботой /v1/barcode конечная точка кодирует данные в шесть форматов штрих-кодов и возвращает строка SVG внутри ответа JSON. Нет пакета npm. Нет этапа сборки. Нет зависимости от холста.

API-вызов

Отправьте POST-запрос с данными и форматом:

Ответ заключает SVG в стандартный конверт JSON:

Извлеките svg поле, поместите его в <img> тег, встроить его в HTML или перенаправьте его в файл. SVG обеспечивает четкость изображения любого размера, поскольку он векторный; отсутствие артефактов растеризации при разрешении 300 DPI и выше.

Параметры

Конечная точка принимает пять параметров. Только data требуется:

  • данные (обязательное поле): значение для кодирования. Для EAN-13 введите 13 цифр. Для Code128 передайте любую печатную строку ASCII.
  • формат (строка, по умолчанию code128): Один из code128, ean-13, ean-8, upc-a, itf-14, или msi.
  • ширина (число, по умолчанию 200): Ширина изображения в пикселях. Диапазон: от 50 до 2000.
  • высота (число, по умолчанию 80): Высота изображения в пикселях. Диапазон: от 20 до 1000.
  • show_text (логическое значение, по умолчанию true): следует ли отображать закодированное значение в виде текста под полосами.

Вот штрих-код Code128 со всеми установленными параметрами:

Практические примеры

Создание транспортной этикетки

Закодируйте номер отслеживания как Code128 для упаковочных накладных и отгрузочных этикеток. Код128 обрабатывает смешанные буквенно-цифровые строки, поэтому номера отслеживания, такие как «1Z999AA10123456784», работают без предварительная обработка.

Система управления запасами

Распечатайте этикетки Code128 для складских ячеек и полок. Сотрудники сканируют их с помощью портативных считывателей. во время комплектования и упаковки. Штрих-код кодирует полный путь к местоположению: склад, полка, корзина.

Этикетки для розничной торговли (EAN-13)

EAN-13 — международный стандарт розничной продукции. Передайте 13-значный GTIN и API. возвращает размер SVG для стандартных этикеток на краях полок.

Пакетная генерация Node.js для каталога продуктов

Параллельно создавайте штрих-коды для всего каталога продукции. Этот скрипт запускает четыре запроса одновременно и собирает строки SVG:

Выход:

Для каталогов с сотнями товаров группируйте их в группы по 20–50, чтобы не выходить за рамки ограничений. Уровень бесплатного пользования ограничен 5 запросами в минуту; ключ API снимает это ограничение.

Пример Node.js: этикетки со штрих-кодом для выполнения заказа

Этот сервер Express предоставляет /labels/:orderId конечная точка. Когда твое исполнение система или принтер этикеток извлекает этот URL-адрес и возвращает штрих-код SVG, кодирующий заказ. номер отслеживания.

Использование:

Заголовок 24-часового кэша предотвращает дублирование вызовов API для одного и того же заказа. В производстве, добавьте кеш CDN или Redis перед этим маршрутом.

Когда какой формат использовать

Code128 используется по умолчанию по определенной причине: он кодирует самый широкий диапазон символов и работает для большинство внутренних систем. Переключитесь на EAN-13 или UPC-A, если вашему продукту требуется сканирование для розничной торговли. штрих-код. Используйте ITF-14 для внешних картонных этикеток в логистике. MSI подходит для маркировки складских полок где вам нужны только числовые коды с простой контрольной цифрой.

Ключевые моменты

Уровень бесплатного пользования со скоростью 5 запросов в минуту охватывает разработку, тестирование и этикетку небольших объемов. печать. Для пакетной генерации или систем выполнения с высоким трафиком передайте ключ API в Authorization: Bearer заголовок. Проверьте Документация по API для полной ссылки на конечную точку.

FAQ

Нужен ли мне ключ API для создания штрих-кодов?
Нет. Уровень бесплатного пользования обеспечивает анонимный доступ со скоростью 5 запросов в минуту с ограничением скорости на основе IP. Для производственных рабочих нагрузок добавьте ключ API в заголовок авторизации, чтобы увеличить лимит.
Могу ли я получить PNG вместо SVG?
API возвращает SVG внутри ответа JSON. SVG масштабируется до любого разрешения без пикселизации, что делает его идеальным для термопринтеров этикеток с разрешением 203 или 300 точек на дюйм. Чтобы преобразовать в PNG, растрируйте SVG с помощью Sharp, Inkscape или элемента холста браузера.
Какие символы я могу закодировать в Code128?
Code128B поддерживает печатаемые символы ASCII от пробела (0x20) до тильды (0x7E). Сюда входят прописные и строчные буквы, цифры, знаки препинания и общие символы. Для числовых данных, таких как GTIN, используйте EAN-13, EAN-8 или UPC-A.
Как встроить штрих-код SVG в PDF-файл?
Извлеките поле svg из ответа JSON и передайте его в свою библиотеку PDF. Такие библиотеки, как Puppeteer, wkhtmltopdf и WeasyPrint, изначально визуализируют встроенный SVG. Для reportlab или jsPDF сначала преобразуйте SVG в PNG с помощью Sharp или Canvas.
Какова максимальная длина данных?
Code128 может кодировать строки длиной до 80 символов, прежде чем штрих-код станет слишком широким для стандартных принтеров этикеток. EAN-13 имеет фиксированную длину 13 цифр, EAN-8 — 8, UPC-A — 12 и ITF-14 — 14. Для надежного сканирования данные должны быть короткими.

Начните разработку с botoi

150+ API-эндпоинтов для поиска, обработки текста, генерации изображений и утилит для разработчиков. Бесплатный тариф, без банковской карты.