Однако есть способ, как решить данные проблемы.
Генерируем штрих-код в формате ps с помощью команды barcode:
barcode -p letter -g 200x100 -u mm -b 13423432320 -e 128 -o sss.ps
Теперь, нужно преобразовать его в понятный для 1С формат — это или jpg или png. За это отвечает команда ImageMagic convert. Кроме того, есть возможность указать четкость изображения с помощью параметра -density 150. А так же есть очень полезный параметр для нашего случая -trim. Этот параметр обрезает изображение. Т.е. обрезает всё белое пространство нашего листа.
Получаем такую команду для генерации jpg:
convert -density 150 -trim sss.ps sss.jpg
Для генерации png:
convert -density 150 -trim sss.ps sss.png
Сравнивая изображения png и jpg видим, что jpg имеет размер 21,2Кб, а png — 2,7Кб. Т.е. получается, что png лучше использовать, т.к. размер такого файла в 10 раз меньше. Кроме того, в png нет фона.
Для того, чтоб не нужно было вызывать несколько команд из линукс и после каждой делать тайм-аут, рекомендую заключить обе команды в «одну команду», например так:
barcode -p letter -g 200x100 -u mm -b 13423432320 -e 128 -o sss.ps | convert -density 150 -trim sss.ps sss.png
Можно обойтись и без использования файла, например:
barcode p 8.5x11in -umm -e 'code128' -b 12345678 | convert - img.png
Написал маленькую функцию, которая генерирует штрих-код в Linux и получает его в 1С.
Функция ШтрихКодПоказать(Штрихкод, Стандарт="128")
Если Штрихкод="" Тогда // Если не указали штрих-код, тогда выводим в CODE 128
Предупреждение("Не указан штрих-код!",5);
Иначе
Файл="/tmp/"+Штрихкод;
ЗапуститьПриложение("barcode -p letter -g 200x100 -u mm -b "+Штрихкод+" -e 128 -o "+Файл+".ps | convert -density 150 -trim "+Файл+".ps "+Файл+".png");
Файл=Файл+".png";
КонецЕсли;
Возврат Файл;
КонецФункции
Процедура ОбработкаШтрихкодаНажатие(Элемент)
S=ШтрихКодПоказать("58765", "ean13");
Предупреждение("На всякий случай ждем 1 секунду", 1);
ЗапуститьПриложение(S);
КонецПроцедуры
Параметры функции Штрих-код:
Штрих-код — буквенно-цифровое значение штрих-кода.
Стандарт — стандарт штрих-кода. Предусмотрены такие значения данного параметра, отвечающие за соответствующий стандарт:
"ean", "ean13", "ean-13", "ean8", "ean-8"
"upc", "upc-a", "upc-e"
"isbn"
"39", "code39"
"128c", "code128c"
"128b", "code128b"
"128", "code128"
"128raw"
"i25", "interleaved 2 of 5"
"cbr", "codabar"
"msi"
"pls", "plessey"
"code93", "93"
Автор: Рудюк С . А. http://corp2.net
Еще статьи по данной теме, если кому-то интересно:
Настройка звука в XRDP для Linux Ubuntu
Решение проблемы запуска сессий новых пользователей в XRDP
Генерация штрих-кода для вставки его в 1С при работе в Linux
Генерация изображения штрих-кода в 1С при работе в Linux .
Вывод отладочной информации запуска 1С8.3 в Linux
Настройка окружения LXDE для терминальных пользователей XRDP в Linux Ubuntu
Создание кросс-платформенной и кросс-браузерной карты Google, выводящей много точек через 1С
Снятие терминальной сессии пользователя в XRDP (Linux) и 1C
Простейший способ создания штрих-кода в формате PNG из командной строки в Linux Ubuntu
—
—
—
—
—
—
—
—
—
Есть еще кроссплатформенная программа zint, которая умеет не только одномерные, но еще и двумерные ШК генерить, причем сразу в png. Ну и из-за того, что она кроссплатформенная (и портабельная, можно включить в макет) в своих разработках можно применить единообразный подход к генерации ШК как в linux, так и в windows
rudjuk,
Ай-ай imagemagick, а не imagemagic! Сам когда-то долго привыкал, а теперь глаз спотыкается