Недавно наша газета наконец получила ISSN – индивидуальный идентификатор серийного издания. Для входа в сети розничной продажи также необходим штрих-код. Самый правильный способ получить штрих-код для газеты — это генерация последнего на основе ISSN. Штрих-коды эти соответствуют стандарту EAN-13, и он остается неизменным для каждого номера. Для кодирования номера выпуска используется добавочный штрих-код по стандарту EAN-5(Addon5).
Вместе с полученным ISSN, мы получили и архив с готовыми штрих-кодами в формате EPS. Одна беда — внутри EPS-а лежал обычный растр.

Наш дизайнер, посмотрев на расклад, завил, что эти штрих-коды ему не нравятся, он хочет вектор, да и вообще, по высоте они довольно большие. На мои заявления, что высота такая, какая и должна быть он показал с десяток других газет, где штрих-код по высоте был намного ниже. После этого и начались мои поиски по приемлемому решению для генерирования штрих-кодов самостоятельно.
Программ для генерирования под Виндоус оказалось в достатке. Бесплатных — оказалось довольно мало. Бесплатных, для того, чтобы верстальщица в такой программе смогла генерировать штрих-коды без посторонней помощи я не нашел ни одной. Под Линукс таких программ несколько — например Kbarcode, но о самостоятельности верстальщицы говорить уже не придется. Есть также онлай-сервисы. Именно на последнем я и заметил ссылку, на Barcode Writer in Pure PostScript.
Barcode Writer in Pure PostScript – это PostScript файл, минимально изменяя содержимое которого, мы получаем нормальный векторный штрих-код. Файл научен переваривать довольно много стандартов штрих-кодов, а главное для меня — он знает про EAN-13, и автоматом генерирует добавочный EAN-5, если его попросить. Также можно использовать некоторые дополнительные параметры, например для изменения высоты штрих-кода.
После скачивания, внутри архива можно обнаружить несколько файлов. Для того, чтобы сразу убедиться в работоспособности вы можете открыть
Внутри вы увидите примерно следующее:

Теперь, давайте генерировать свой штрих-код. Для этого открываем
«9772074210005» — это данные с вашего штрих-кода EAN-13, 09075 – в моем случае: «09» — год, «075» — номер выспуска; также, если нужны цифры под штрих-кодом, то оставляем «includetext», если нужен маркер '>', то оставляем и «guardwhitespace», высота — «height»(Кэп не дремлет), в данном случае 80% от стандартной высоты, и ean13 – стандарт, в котором генерируется штрих-код.
Как генерировать штрих-коды в остальных стандартах, можно посмотреть в
О точность алгоритма генерирования, я думаю, говорит заявление на сайте разработчика, о том, что:
Barcode Writer in Pure Postscript is an award-winning open source barcode maker, as used by NASA
Все довольно просто, а главное — бесплатно, и распространяется пол лицензии MIT.
Вместе с полученным ISSN, мы получили и архив с готовыми штрих-кодами в формате EPS. Одна беда — внутри EPS-а лежал обычный растр.

Наш дизайнер, посмотрев на расклад, завил, что эти штрих-коды ему не нравятся, он хочет вектор, да и вообще, по высоте они довольно большие. На мои заявления, что высота такая, какая и должна быть он показал с десяток других газет, где штрих-код по высоте был намного ниже. После этого и начались мои поиски по приемлемому решению для генерирования штрих-кодов самостоятельно.
Программ для генерирования под Виндоус оказалось в достатке. Бесплатных — оказалось довольно мало. Бесплатных, для того, чтобы верстальщица в такой программе смогла генерировать штрих-коды без посторонней помощи я не нашел ни одной. Под Линукс таких программ несколько — например Kbarcode, но о самостоятельности верстальщицы говорить уже не придется. Есть также онлай-сервисы. Именно на последнем я и заметил ссылку, на Barcode Writer in Pure PostScript.
Barcode Writer in Pure PostScript – это PostScript файл, минимально изменяя содержимое которого, мы получаем нормальный векторный штрих-код. Файл научен переваривать довольно много стандартов штрих-кодов, а главное для меня — он знает про EAN-13, и автоматом генерирует добавочный EAN-5, если его попросить. Также можно использовать некоторые дополнительные параметры, например для изменения высоты штрих-кода.
После скачивания, внутри архива можно обнаружить несколько файлов. Для того, чтобы сразу убедиться в работоспособности вы можете открыть
barcode_with_sample.ps
.Внутри вы увидите примерно следующее:

Теперь, давайте генерировать свой штрих-код. Для этого открываем
barcode.ps
, и в самом низу просто пишем строку:20 20 moveto (9772074210005 09075) (includetext guardwhitespace height=0.8) ean13
«9772074210005» — это данные с вашего штрих-кода EAN-13, 09075 – в моем случае: «09» — год, «075» — номер выспуска; также, если нужны цифры под штрих-кодом, то оставляем «includetext», если нужен маркер '>', то оставляем и «guardwhitespace», высота — «height»(Кэп не дремлет), в данном случае 80% от стандартной высоты, и ean13 – стандарт, в котором генерируется штрих-код.
Как генерировать штрих-коды в остальных стандартах, можно посмотреть в
barcode_with_sample.ps
.О точность алгоритма генерирования, я думаю, говорит заявление на сайте разработчика, о том, что:
Barcode Writer in Pure Postscript is an award-winning open source barcode maker, as used by NASA
Все довольно просто, а главное — бесплатно, и распространяется пол лицензии MIT.