Генерація штрих-коду в PHP

Простори імен

Дії на сторінці

Немає такої людини на сьогоднішній день, хто б жодного разу не зустрів штрих-код у повсякденному житті, адже всі ми щодня купуємо в супермаркетах. Якщо подивитися уважно, то на всіх етикетках і упаковках в магазинах є місце, на якому надруковано набір чорних смужок різної ширини, розділених білим простором, так цей набір і називається штрих код.

Для генерації цих та інших видів штрих-коду придумано чимало алгоритмів кодування:

Існує і різноманітність серед бібліотек по роботі зі штрих кодами у php, але я хочу запропонувати один найпростіший спосіб генерації у php штрих коду – без підключення бібліотек.

Зміст

Генерувати штрих-код ми будемо за алгоритмом Code39 [ред.]

Найменування даного коду пов'язане зі структурою зображення літер "3 з 9", де три елементи літери (два штрихи та один пробіл) з дев'яти є широкими, а решта шість - вузькими. Кожна буква коду 39 представлена ​​п'ятьма штрихами та чотирма пробілами.

Штриховий код 39 [ред.]

У порівнянні з кодом 2 of 5 число варіантів зображення буква збільшується вчетверо і дозволяє відобразити 40 різних букв. Передбачено чотири додаткові знаки ($, «, +, %). Код 39 є дискретним, контрольованим. Достоїнством цього коду є дуже висока надійність, яка може бути збільшена додаванням в символ контрольної літери.

Як генерувати в PHP штрих код Code39 [ред.]

Нижче наведено невеликий самописний клас, зміст якого полягає у перетворенні вхідного рядка в послідовності типу: bbbwbwwwbwbwbbbw, де b – чорний , w – білий проміжки коду.

У класі є асоціативний масиввідповідності символів і послідовностей штрихів для них. Наприклад, якщо ми захочемо закодувати слово "PHP", то отримаємо таку послідовність:

Три вхідні символи ('P','H','P') дорівнюють трьом послідовностям. Прогалини між ними я простовив для наочності.

Отримана послідовність перетворюється на штрих-код для слова PHP

Особливістю прикладу служить те, що в результаті генерації штрих коду PHP, в даному класі ми отримуємо не просто картинку, як це зроблено в багатьох бібліотеках, а послідовність HTML елементів, що вишиковуються в штрих код.

Ось так виглядає наведений вище штрих-код насправді:

Плюси даного підходу в тому, що після роздруковування наклейок зі штрих кодами ми отримаємо більш чіткі лінії, ніж при друку згенерованої картинки.

штрих-код

Як генерується штрих-код code39 ми з'ясували, залишилося лише зробити гарну верстку для зручного роздрукування та наступного нарізування наклейок.

Наведений вище php скрипт, буде генерувати інформацію з масиву

Не важко здогадатися, які ключі за що відповідають

Використовуйте цей РHР клас для генерації друкованих форм наклейок зі штрих кодами на коробки вашої продукції і комірники оцінять вашу працю.