Создание Штрих–кодов из Командной Строки

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

Единственное, что необходимо перед этим сделать, это настроить шаблон штрих–кода в визуальном режиме, после чего его можно будет использовать из командной строки, предоставляя необходимые данные в виде параметров.

Для примера возьмем шаблон штрих–кода, названный “EAN–13” в списке штрих–кодов приложения Barcode. Если у Вас такого нет — создайте и назовите именно так, или подставляйте имя своего шаблона в примеры, представленные ниже.

Простое Создание Штрих–кода

Приложение Barcode переходит в режим работы из командной строки, если вызывается с определенными параметрами. Эти параметры: --symbology, --data и --output. Все три параметра должны быть указаны, иначе Barcode запустится в стандартном режиме с интерфейсом пользователя.

Вот простейший пример генерации из командной строки на Mac:

/Applications/Barcode.app/Contents/MacOS/Barcode --symbology=EAN-13 --data=1234567890128 --output=result.png

Аналогичный вызов на Windows выглядит так:

"C:\Program Files\Appsforlife\Barcode\barcode.com" --symbology=EAN-13 --data=1234567890128 --output=result.png

В результате Вы получаете файл в формате PNG со штрих–кодом, дизайн которого Вы ранее настроили, и данными, переданными в параметре data.

Вы можете использовать и другие форматы выходного файла, используя расширения PDF, EPS, SVG, TIFF или TIF. Последнее расширение применяется для создания монохромных TIFF–файлов.

Обработка Дополнительного Блока

Для штрих–кодов EAN–13, ISBN–13 и UPC–A Вы можете указать данные для дополнительного блока, используя параметр data следующим образом:

--data=1234567890128;12345

Это позволит получить штрих–код с основным блоком “12345678901238” и дополнительным блоком “12345”.

Для штрих–кодов в формате ISBN–13 Вы также можете указать цену в десятичном виде:

--data=978123456789;10.20

В этом случае дополнительный блок будет содержать число “51020”, если штрих–код настроен на ценовую модель США.

Использование Текстовых Переменных

Вы можете управлять текстовыми переменными (англ) следующим образом:

--var=var1=Hello --var=var2="Some more text here"

Вы можете добавить столько параметров вида --var=<var>=<value>, сколько требуется. Используйте кавычки, если значения переменных могут содержать пробелы.

Также обратите внимание, что в некоторых случаях Вам может потребоваться экранировать кавычки и другие специальные символы:

--var=var1=\"Some more text\"

Это зависит от операционной системы и окружения, которое Вы используете.

Пакетная Генерация Штрих–кодов из Командной Строки

Вы также можете осуществлять пакетную генерацию штрих–кодов на основе данных из файлов в формате CSV или Excel.

Самый простой способ начать, это использовать обычный текстовый файл, где каждая строка представляет собой данные для одного штрих–кода:

123456789012;12345
234567890121;51234
345678901212;45123
456789012123;34512
567890121234;23451
678901212345;12345

Сохраните этот файл с именем “data.txt”, после чего выполните следующую команду из того же каталога, где находится этот файл:

# Mac
/Applications/Barcode.app/Contents/MacOS/Barcode --symbology=EAN-13 --source=data.txt --output=result.png

# Windows
"C:\Program Files\Appsforlife\Barcode\barcode.com" --symbology=EAN-13 --source=data.txt --output=result.png

Отличие заключается в том, что параметр --data замене на параметр --source, который указывает на файл с данными для пакетной генерации штрих–кодов.

После того, как Вы запустите эту команду, вы получите набор файлов, названных следующим образом:

result123456789012_12345.png
result234567890121_51234.png
result345678901212_45123.png
result456789012123_34512.png
result567890121234_23451.png
result678901212345_12345.png

Как Вы можете заметить, Barcode использовал значение параметра output в качестве префикса для названий создаваемых файлов, а также их формата. Остальная часть имени файлов формировалась на основе данных штрих–кодов.

Использование CSV–файлов

Файл “data.txt”, который мы создали выше, на самом деле является CSV–файлом, просто он не содержит строки–заголовка. Barcode пытается обнаружить заголовок в текстовых файлах путем поиска строки “Data” и если такой строки нет, то первая колонка используется как данные для штрих–кода, а вторая — для блока дополнительных данных, если он есть.

Однако, Вы можете непосредственно указать Barcode где какие данные находятся:

Addon;Data
12345;123456789012
51234;234567890121
45123;345678901212
34512;456789012123
23451;567890121234
12345;678901212345

Здесь имена колонок указаны непосредственно, более того порядок колонок специально изменен, чтобы показать, что Barcode будет использовать не самую первую колонку, а ту, которая названа “Data”.

Сохраните этот текст в файл с именем “data.csv”, чтобы подчеркнуть, что это именно CSV–формат.

Затем Вы можете запустить пакетную генерацию штрих–кодов следующим образом:

# Mac
/Applications/Barcode.app/Contents/MacOS/Barcode --symbology=EAN-13 --source=data.csv --output=result.png

# Windows
"C:\Program Files\Appsforlife\Barcode\barcode.com" --symbology=EAN-13 --source=data.csv --output=result.png

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

Barcode поддерживает запятые, точки с запятой, двоеточия и символы табуляции в качестве разделителей колонок в CSV–файлах. Тип разделителя определяется автоматически. Если по какой–то причине файл не читается, попробуйте использовать другой разделитель в CSV–файле.

Используем Больше Колонок

Существует несколько специальных, “зарезервированных” названий колонок, которые обрабатываются приложением особым образом:

Вы можете добавить больше колонок в CSV–файл и использовать их для текстовых переменных (англ). Вот пример:

Data;Addon;Information
123456789012;12345;Text 1
234567890121;51234;Text 2
345678901212;45123;Text 3
456789012123;34512;Text 4
567890121234;23451;Text 5
678901212345;12345;Text 6

Теперь, если Вы создадите текстовый элемент и используете там переменную {information}, она будет автоматически заменена на значения из третьей колонки Вашей таблицы для каждого из сгенерированных штрих–кодов.

Вы можете создавать столько отдельных колонок, сколько захотите.

Колонка с Именами Файлов

Вы можете называть создаваемые файлы со штрих–кодами на основе значений одной из колонок. Для этого добавьте в исходный файл колонку, содержащую базовые имена файлов:

Data;Addon;Information;Filename
123456789012;12345;Text 1;Product 0001
234567890121;51234;Text 2;Product 0002
345678901212;45123;Text 3;Product 0003
456789012123;34512;Text 4;Product 0004
567890121234;23451;Text 5;Product 0005
678901212345;12345;Text 6;Product 0006

А затем используйте специальный параметр командной строки --output-column=Filename при запуске Barcode:

# Mac
/Applications/Barcode.app/Contents/MacOS/Barcode --symbology=EAN-13 --source=data.csv --output-column=Filename --output=result.png

# Windows
"C:\Program Files\Appsforlife\Barcode\barcode.com" --symbology=EAN-13 --source=data.csv --output-colum=Filename --output=result.png

Barcode будет использовать как колонку “Filename”, так и значение параметра --output для имен создаваемых файлов, так что вы получите серию файлов с именами типа “resultProduct 0001.png”.

Если Вы хотите, чтобы файлы назывались исключительно на основе данных из колонки, используйте параметр --output следующим образом:

# Mac
/Applications/Barcode.app/Contents/MacOS/Barcode --symbology=EAN-13 --source=data.csv --output-column=Filename --output=.png

# Windows
"C:\Program Files\Appsforlife\Barcode\barcode.com" --symbology=EAN-13 --source=data.csv --output-colum=Filename --output=.png

Указывая пустое имя файл и только расширение в параметре “output” Вы говорите Barcode, что нужно использовать только значения из колонки с именами файлов для того, чтобы называть создаваемые файлы со штрих–кодами.

Ниже представлено еще больше информации по использованию параметра “output”.

Использование Файлов Excel

Barcode также может читать и файлы Excel (в формате XLSX) точно так же, как и файлы в формате CSV. Все сказанное выше про CSV–файлы также относится и к файлам Excel.

Использование Счетчика для Названий Файлов

Вы также можете указать Barcode использовать счетчик для генерации имен создаваемых файлов:

# Mac
/Applications/Barcode.app/Contents/MacOS/Barcode --symbology=EAN-13 --source=data.csv --mode=counter --counter-from=100 --output=result.png

# Windows
"C:\Program Files\Appsforlife\Barcode\barcode.com" --symbology=EAN-13 --source=data.csv --mode=counter --counter-from=100 --output=result.png

Обратите внимание на два новых параметра: --mode=counter, который включает использование счетчика для названий файлов, и опционального --counter-from=100, который задает начальное значение счетчика. После выполнения вышеуказанной команды, Вы получите штрих–коды в файлах, названных следующим образом:

result100.png
result101.png
result102.png
result103.png
result104.png
result105.png
result106.png

В этом режиме Barcode работает аналогичным образом, как и в режиме визуальной пакетной генерации штрих–кодов. Несмотря на то, что Barcode запоминает параметры, использованные при последней пакетной генерации, это не используется при работе из командной строки, чтобы сделать поведение программы более предсказуемым.

Обработка Параметра “Output”

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

В зависимости от режима пакетной генерации могут использоваться:

Barcode берет эту информацию в качестве “базового” имени файла со штрих–кодом, а затем переходит к анализу значения, переданного в параметре --output. Ниже представлена максимально полная форма этого параметра:

--output=<путь>/<имя файла>.<расширение>

Таким образом, Вы можете указать путь к файлу (опционально), имя и расширение. Barcode использует путь к файлу для определения каталога, в который сохранять сгенерированные файлы. Он использует расширение файла для определения формата сохраняемых файлов. Наконец, он использует имя файла в качестве префикса для “базового” имени, полученного из данных очередного штрих–кода.

К примеру, если данные, полученные из текущего штрих–кода при генерации, это “Product 0001”, а Barcode запущен с параметром:

--output=tmp/file.pdf

То алгоритм получения имени файла будет таким:

  1. Разделить параметр “output” на путь (“tmp”), имя файла (“file”) и расширение (“pdf”);
  2. Взять “базовое” имя (“Product 0001”) и дописать к нему в начало имя файла из “output” — “file”, получив в итоге “fileProduct 0001”;
  3. Перейти в каталог “tmp” и сохранить там штрих–код в формате PDF с именем “fileProduct 0001.pdf”.

Если же Вы укажете параметр “output” как --output=tmp/.pdf, то префикс имени файла будет пустым и файл в каталоге “tmp” будет назван просто “Product 0001.pdf”.

Пакетная Генерация с Выводом в Один Файл

Вы также можете запустить пакетную генерацию штрих–кодов из командной строки и вывести результаты в один PDF–файл. Вот так это делается на Mac:

/Applications/Barcode.app/Contents/MacOS/Barcode --symbology=EAN-13 --source=data.txt --mode=single --output=result.pdf

А так — на Windows:

"C:\Program Files\Appsforlife\Barcode\barcode.com" --symbology=EAN-13 --source=data.txt --mode=single --output=result.pdf

Параметры командной строки практически идентичны тем, что использовались выше для вывода в несколько файлов. Исключение составляет параметр --mode=single, который и говорит Barcode о том, что необходимо сохранить все штрих–коды в один файл. Также расширение, указанное в параметре “output”, должно быть PDF, так как только этот формат поддерживает сохранение нескольких штрих–кодов в один файл.

Запуск команды, указанной выше, создаст PDF–файл со всеми штрих–кодами, перечисленными в файле с данными. В этом случае Barcode будет использовать параметры сетки, настроенные в визуальном режиме при последнем его использовании. Здесь используется та же идея, что и при настройке шаблона штрих–кода: сначала в визуальном режиме настраивается внешний вид штрих–кода, после чего эти настройки используется при генерации из командной строки.

Вы можете использовать простые текстовые файлы, а также файлы в формате CSV и Excel в этом режиме так же, как и при генерации с выводом в отдельные файлы.

Перед Тем, Как Вы Начнете

Имейте в виду, что практически все виды пакетной генерации, перечисленные выше, доступны и в визуальном режиме работы приложения в несколько кликов мышкой.

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

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

Также, если при работе в режиме командной строки что–то пошло не так, Вы всегда можете переключиться в визуальный режим и повторить все шаги там, чтобы найти в чем именно заключается проблема.

Пакетная Генерация Штрих–кодов в Скриптах

В конце концов, если все вышеперечисленное не помогает, и Ваши требования к генерации штрих–кодов в корне отличаются от того, что предоставляет Barcode, вы всегда можете использовать скриптовый язык Вашей операционной системы и использовать Barcode в режиме простой генерации, без использования пакетных возможностей.

Вот простой пример для Mac OS:

#!/bin/bash

while read code; do
	echo "Processing ${code}"
	/Applications/Barcode.app/Contents/MacOS/Barcode --symbology=EAN-13 --data=$code --output=$code.png
done < data.txt

А вот аналогичный пример для Windows:

for /f %%i in (data.txt) do (
	"C:\Program Files\Appsforlife\Barcode\barcode.com" --symbology=EAN-13 --data=%%i --output=%%i.png
)

В обоих примерах используется скриптовый язык окружения для построчного чтения исходного файла и запуска Barcode в обычном режиме генерации из командной строки.

В этом случае Вы получаете дополнительную гибкость в наименовании выходных файлов, а также выборе шаблонов штрих–кодов.

Больше Информации о Barcode

Инсталляция

Штрих–коды EAN

Штрих–коды UPC

Автоматизация