Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Программное обеспечение для Linux

Создаем штрих-коды с помощью пакета KBarcode

Оригинал: "Generating barcodes with KBarcode"
Автор: Nathan Willis
Дата публикации: November 8, 2010
Перевод: Н.Ромоданов
Дата перевода: ноябрь 2010 г.

В некоторых ситуациях буквенно-цифровой текст оказывается неприменим и вам нужен штрих-кода — на почтовых наклейках, идентификационных бейджиках, инвентаризационных метках, возможно, даже при кодировании адресов URL для мобильных телефонов. Благодаря KBarcode у вас появляется простое десктопное приложение, позволяющее как создавать, так и печатать нескольких десятков видов различных штрих-кодов на физических носителях любого вида.

Как вы уже могли догадаться, KBarcode является программой на базе Qt и KDE, которая позволяет использовать несколько различных движков, предназначенных для генерации большого количества штрих-кодов в различных форматах. К числу таких движков относятся GNU Barcode, Barcode Writer in Pure Postscript, PDF417 Encode (который поддерживает двухмерный штрих-код PDF417, не имеющий никакого отношения к компании Adobe Portable Document Format), а также коммерческий (и платный) пакет TBarcode компании tec-it.com.

Кроме всего прочего, эти движки поддерживают работу с более чем пятидесятью различными форматами, начиная с коммерческих стандартов, таких как UPC и ISBN, и до почтовых стандартов, таких как USPS OneCode, и форматами общего назначения, такими как Code 39 и Code 128. В TBarCode даже добавлена поддержка нескольких двухмерных форматов, таких как Data matrix и QR Code. Для тех, кто не знаком с различными схемами кодирования штрих-кодов, найдите на сайте Barcode Writer in Pure Postscript ссылки на сетевую энциклопедию Wikipedia, в которой приведены основные сведения о большинстве штрих-кодов.

Пакет KBarcode есть в большинстве основных дистрибутивов Linux, предназначенных для настольных компьютеров, так что его обычно можно установить с помощью менеджера пакетов системы. У пакета есть некоторые зависимости KDE, так что если вы используете дистрибутив с GNOME, вы обнаружите большой список пакетов, которые требуется установить для разрешения этих зависимостей. Единственное дополнительное требование — необходима база данных MySQL — она также должна устанавливаться просто, но если вы еще не настроили MySQL на машине, на которой будете использовать пакет KBarcode, вам потребуется еще несколько дополнительных действий.

Вы также можете скачать пакеты или архив с исходным кодом с веб-сайта проекта. Единственная документация, касающаяся приложения, это руководство в формате PDF, которое можно загрузить. Можно, однако, ограничиться файлом HTML, который устанавливается вместе с пакетом KBarcode в директории /usr/share/docs и в котором объясняются некоторые понятия из поддерживаемых форматов штрих-кода - наборы символов, максимальная длина, поддержка контрольных сумм и т.д. Информация находится в меню "Help" в разделе "Barcode Help".

Создание штрих-кодов

Когда вы запустите KBarcode, вам будет представлено компактное окно с четырьмя кнопками. С помощью каждой из них запускается в своем собственном окне один из модулей программы — генератор штрих-кода, редактор этикеток, диалоговое окно пакетного режима печати, а также конфигурационное окно базы данных SQL.

Kbarcode: окно генерации штрих-кода
Kbarcode: окно генерации штрих-кода при работе со штрих-кодом Code 128. Показано диалоговое окно "sequence" ("Последовательность")

Окно генератора штрих-кода представляет собой диалог, в котором вы можете создать изображение штрих-кода, соответствующее введенному тексту. Вы выбираете формат штрих-кода из выпадающего списка, в котором автоматически будут показаны все формы, поддерживаемые установленными вами движками, а затем вводите текстовое значение, которое должно быть закодировано. Изображение можно масштабировать, вращать, вырезать часть изображения, задавать границы изображения — вы можете щелкнуть по кнопке "Generate" ("Создать") и посмотреть, что получается. Нажатие на кнопку "Generate" ("Создать") обновляет изображение, так что вы можете подобрать необходимые настройки.

Для более сложных вариантов есть кнопка "Advanced" ("Дополнительно"), с помощью которой открывается отдельное окно. В нем будут показаны дополнительные конфигурационные настройки (например, генерация контрольной суммы), поддерживаемые движком для выбранного вами формата. Есть также вкладка "Colors" ("Цвета") для тех движков, которые поддерживают эту настройку. На этой вкладке вы можете изменить цвет штрих-кода, любого сопроводительного текста и фона.

Kbarcode: окно

Kbarcode: окно "Advanced" ("Дополнительно") предоставляет дополнительные опции, в том числе для некоторых движков и задание цвета

Наконец, вкладка "Sequence" ("Последовательность") позволяет генерировать последовательные наборы штрих-кодов. Вы указываете на вкладке "Sequence" ("Последовательность") размер шага и стартовый номер, а затем возвращаетесь обратно в окно генератора штрих-кодов - просто укажите в вашем штрих-коде специальный символ #, а не номер или символ.

В окне генератора штрих-кодов происходит обращение к различным движкам, используемым для отрисовки кодов, которые вы задали. Вы можете непосредственно напечатать эти коды, скопировать их в буфер обмена, или сохранить их в виде отдельных файлов. Для выполнения большого объема работ вы должны вместо этого варианта использовать вариант Label Editor (Редактор этикеток).

Этикетки и пакетное выполнение заданий

Редактор этикеток открывает окно выбора шаблона, в котором вы выбираете размер бумаги и необходимый вам формат этикетки, совместимый с форматом Avery. Как только это будет сделано, редактор откроет окно дизайна, в котором есть несколько основных инструментов для рисования, редактирования текста, а также средства для указания, куда поместить штрих-код.

Kbarcode: Создание новой этикетки

Создание новой этикетки начинается с выбора типа этикетки и размера бумаги

В сущности, всю компоновку этикетки вы можете выполнить с помощью инструментов редактирования, а затем нажать кнопку barcode и поместить штрих-код туда, куда надо. В результате внутрь вашей этикетки будет помещен специальный элемент-заполнитель. Если вы дважды щелкните по этому элементу, он откроет знакомое окно генератора штрих-кода, в котором вы можете проверить формат этикетки и ее содержание.

Kbarcode: редактор этикеток

В Редакторе этикеток вы можете при компоновке этикетки использовать текстовые и графические инструменты, и генерировать содержимое штрих-кода во время печати

Именно здесь очень к месту функциональность, предоставляемая вкладкой "Sequence" ("Последовательность"); вы определяете последовательность штрих-кодов и можете в режиме пакетной обработки распечатать целую страницу этикеток, карточек или наклеек со штрих-кодами. Каждая из этикеток на напечатанной странице получает порядковый номер, на единицу больше предыдущего, который помещается туда, где находится символ #, поэтому важно установить начальное значение. Во вкладке "Visibility" ("Видимость") вы можете также определить, как и сколько раз печатать этикетку. Объяснения смотрите в руководстве, имеющемся в формате PDF; чтобы напечатать только этикетки с номером пять, вы должны указать [index]==5 и так далее.

Конечно, вы также можете импортировать сохраненный образ штрих-кода из внешнего файла точно также, как и любое другое изображение. После того, как вы создадите свои этикетки, вы можете с помощью меню "Файл" либо сохранить их для последующего использования, либо непосредственно их распечатать. Диалог печати позволяет указать начальную позицию этикетки на листе, так что будьте аккуратны, если вы пытаетесь объединить эту функцию с функциональностью "Visibility" ("Видимость"), которая упоминалась ранее. Выберите View -> Preview (Вид -> Предварительный просмотр) для того, чтобы посмотреть, как будут вычисляться различные значения для этикеток и как они будут распечатываться на странице.

Вы также можете сохранять ваши этикетки и распечатывать их с помощью кнопки "Batch print" ("Пакетная печать"), которая расположена в главном окне. Эта функция не разрешает изменять дизайн этикетки; она только позволяет выбрать существующий файл и подключить его к дополнительному источнику данных. Это может быть адресная книга KDE, файл данных, импортированный из файла CSV, или данные, сохраненные непосредственно в базе данных KBarcode's. Кроме непосредственной печати, пакет KBarcode может также распечатывать документы в виде файлов PDF или PostScript.

Опытные пользователи могут получить дополнительные преимущества при использовании базы данных SQL самого пакета KBarcode, в которой по умолчанию хранятся определения поддерживаемых шаблонов этикеток, но в ней также можно сохранять настроечные данные, указываемые пользователем. Пользователи могут вводить адресные данные, которые будут использоваться при повторной печати (в том числе и в режиме пакетного выполнения печати), либо могут определять поля для своих собственных данных, которыми в дальнейшем можно пользоваться в режиме пакетного выполнения печати для расширения функциональности KBarcode . Вы даже можете вставлять функции JavaScript и запросы SQL в ваши формулы штрих-кодов, что позволить подключать ваши задания на печать в KBarcode к вашей системе инвентаризации.

Kbarcode: режим пакетной печати

В режиме пакетной печати можно использовать данные SQL и CSV или вводить данные вручную и распечатывать сразу большое количество страниц этикеток со штрих-кодами

Итог

Естественно, кроме описанного есть и другие решения, использующие штрих-коды, но большинство из них являются автономно работающими генераторами кодов. К тому же, вы можете в любое время с помощью GNU Barcode или Barcode Writer in Pure Postscript создать штрих-коды и перенаправить результат в макет, созданный в Scribus, в OpenOffice.org или в GIMP. Но KBarcode остается простейшим приложением, предназначенным для использования штрих-кодов при большом объеме работ с этикетками, наклейками, конвертами и карточками.