Автор: Рудюк С . А.
https://corp2.net
E-Mail: rs@corp2.net
В Linux есть отличная команда barcode, которая генерирует штрих-коды в векторном формате ps. Но, “1С:Підприємство” не понимает такие форматы. Более того, barcode, генерирует штрих-код на размер листа А4 или Letter. Установка пользовательского размера листа не увенчалась успехом. Но, не будем же мы вставлять изображение штрих-кода размером с лист А4…
Однако, есть способ, как решить данные проблемы.
Генерируем штрих-код в формате ps с помощью команды barcode:
1 |
barcode -p letter -g 200x100 -u mm -b 13423432320 -e 128 -o sss.ps |
Теперь, нужно преобразовать его в понятный для “1С:Підприємство” формат – это или jpg или png. За это отвечает команда ImageMagick convert. Кроме того, есть возможность указать четкость изображения с помощью параметра -density 150. А так же есть очень полезный параметр для нашего случая -trim. Этот параметр обрезает изображение. Т.е. обрезает всё белое пространство нашего листа.
Получаем такую команду для генерации jpg:
1 |
convert -density 150 -trim sss.ps sss.jpg |
Для генерации png:
1 |
convert -density 150 -trim sss.ps sss.png |
Сравнивая изображения png и jpg видим, что jpg имеет размер 21,2Кб, а png – 2,7Кб. Т.е. получается, что png лучше использовать, т.к. размер такого файла в 10 раз меньше. Кроме того, в png нет фона.
Для того, чтоб не нужно было вызывать несколько команд из линукс и после каждой делать тайм-аут, рекомендую заключить обе команды в “одну команду”, например так:
1 |
barcode -p letter -g 200x100 -u mm -b 13423432320 -e 128 -o sss.ps | convert -density 150 -trim sss.ps sss.png |
Можно обойтись и без использования файла, например:
1 |
barcode p 8.5x11in -umm -e 'code128' -b 12345678 | convert - img.png |
Автор: Рудюк С . А. https://corp2.net
Leave a Reply