Генерація штрих-коду в 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Р клас для генерації друкованих форм наклейок зі штрих кодами на коробки вашої продукції і комірники оцінять вашу працю.