|
как сделать хороший штрихкод УФ | ☑ | ||
---|---|---|---|---|
0
yanejsh
04.10.12
✎
08:48
|
в УФ создаю штрихкод как в УТ11. он получается какой-то не очень качественный. Я печатаю большую этикетку, шириной 80 мм и там видно что фон какой-то сероватая сеточка, а не прозрачная. и цифры какие-то кривые, все расползаются.
Собственно из УТ11 печатаю - там так же. большая этикетка выглядит плохо. Как так получается? Там же на основе картинки создается штрихкод. Устанавливаю свойство ПрозрачныйФон = истина, так все равно грязный фон виден Подскажите что нибудь... |
|||
1
IamAlexy
04.10.12
✎
08:50
|
принтер смени
у меня все более чем суперски печатается |
|||
2
yanejsh
04.10.12
✎
08:56
|
объект ВнешняяКомпонента какого должен быть типа?
у меня такой ВнешняяКомпонента = Новый("AddIn.КартинкаШтрихкода.Barcode"); так я на нескольких принтерах пробовал. А если печатать на зебре, то все равно видны какие-то точки-мухи и шрифт отстойный |
|||
3
yanejsh
04.10.12
✎
08:57
|
да даже в предпросмотре видно, если шрифт крупный, то он на пиксели расползается
|
|||
4
yanejsh
04.10.12
✎
09:12
|
эта строчка почему игнорируется
до нее шрифт равен "" ВнешняяКомпонента.Шрифт = "Tahoma"; и после тоже равен "" как шрифт-то свой присвоить в этой компоненте? |
|||
5
Мимохожий Однако
04.10.12
✎
09:15
|
Не стесняйся. Показывай код.
|
|||
6
yanejsh
04.10.12
✎
09:23
|
показать код? так он такой же как и в демке УТ11? я ж говорю, что в УТ11 тоже плохо получается.
Функция ПодключитьВнешнююКомпонентуПечатиШтрихкода() Экспорт // В зависимости от типа платформы подключим соответствующую внешнюю компоненту ПодключениеВыполнено = Неопределено; СистемнаяИнформация = Новый СистемнаяИнформация; Если СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("Обработка.ПечатьЭтикеток.Макет.КомпонентаПечатиШтрихкодовWindows32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("Обработка.ПечатьЭтикеток.Макет.КомпонентаПечатиШтрихкодовWindows64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86 Тогда ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("Обработка.ПечатьЭтикеток.Макет.КомпонентаПечатиШтрихкодовLinux32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); Иначе ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("Обработка.ПечатьЭтикеток.Макет.КомпонентаПечатиШтрихкодовLinux64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); КонецЕсли; // Создадим объект внешней компоненты Если ПодключениеВыполнено Тогда ВнешняяКомпонента = Новый("AddIn.КартинкаШтрихкода.Barcode"); Иначе Возврат Неопределено; КонецЕсли; // Если нет возможности рисовать Если НЕ ВнешняяКомпонента.ГрафикаУстановлена Тогда // То картинку сформировать не сможем Возврат Неопределено; Иначе // Установим основные параметры компоненты // Если в системе установлен шрифт Tahoma Если ВнешняяКомпонента.НайтиШрифт("Tahoma") = Истина Тогда // Выбираем его как шрифт для формирования картинки ВнешняяКомпонента.Шрифт = "Tahoma"; Иначе // Шрифт Tahoma в системе отсутствует // Обойдем все доступные компоненте шрифты Для Сч = 0 По ВнешняяКомпонента.КоличествоШрифтов -1 Цикл // Получим очередной шрифт, доступный компоненте ТекущийШрифт = ВнешняяКомпонента.ШрифтПоИндексу(Сч); // Если шрифт доступен Если ТекущийШрифт <> Неопределено Тогда // Они и будет шрифтом для формирования штри-кода ВнешняяКомпонента.Шрифт = ТекущийШрифт; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; // Утановим размер шрифта ВнешняяКомпонента.РазмерШрифта = 12; Возврат ВнешняяКомпонента; КонецЕсли; КонецФункции Функция ПолучитьКартинкуШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода) Экспорт // Зададим размер картинки ВнешняяКомпонента.Ширина = Окр(ПараметрыШтрихкода.Ширина); ВнешняяКомпонента.Высота = Окр(ПараметрыШтрихкода.Высота); // Разрешим компоненте самой определять тип кода ВнешняяКомпонента.АвтоТип = Ложь; ВнешняяКомпонента.ТипКода = ПараметрыШтрихкода.ТипКода; ВнешняяКомпонента.ОтображатьТекст = ПараметрыШтрихкода.ОтображатьТекст; //ВнешняяКомпонента.РазмерШрифта = ПараметрыШтрихкода.РазмерШрифта; // Или установим код EAN-13 // ВнешняяКомпонента.ТипКода = 1; // // Тип смотрим в документации на внешнуюю компоненту // Если код содержит контрольный символ, обязательно указываем ВнешняяКомпонента.СодержитКС = СтрДлина(ПараметрыШтрихкода.Штрихкод) = 13; // Если отображать контрольный символ не нужно // ВнешняяКомпонента.ВидимостьКС = Ложь; // Формируем картинку штрихкода ВнешняяКомпонента.ЗначениеКода = ПараметрыШтрихкода.Штрихкод; // Если установленная нами ширина меньше минимально допустимой для этого штрихкода Если ВнешняяКомпонента.Ширина < ВнешняяКомпонента.МинимальнаяШиринаКода Тогда // Скорректируем ширину ВнешняяКомпонента.Ширина = ВнешняяКомпонента.МинимальнаяШиринаКода + 10; КонецЕсли; ВнешняяКомпонента.ПрозрачныйФон = Истина; ВнешняяКомпонента.Шрифт = "Verdana"; // Сформируем картинку ДвоичныеДанныеКартинки = ВнешняяКомпонента.ПолучитьШтрихкод(); // Если картинка сформировалась Если ДвоичныеДанныеКартинки <> Неопределено Тогда // Формируем из двоичных данных Возврат Новый Картинка(ДвоичныеДанныеКартинки); КонецЕсли; Возврат Неопределено; КонецФункции Функция Этикетка(МассивОбъектов, ОбъектыПечати) ВнешняяКомпонента = ПодключитьВнешнююКомпонентуПечатиШтрихкода(); Если ВнешняяКомпонента = Неопределено Тогда ВызватьИсключение НСтр("ru = 'Ошибка подключения внешней компоненты печати штрихкода!'"); КонецЕсли; ..... Рисунок = ОбластьШК.Рисунки.ШтрихКод; ПараметрыШтрихкода = Новый Структура; ПараметрыШтрихкода.Вставить("Ширина", 150); ПараметрыШтрихкода.Вставить("Высота", 50); ПараметрыШтрихкода.Вставить("Штрихкод", ЗначениеШтрихкода); ПараметрыШтрихкода.Вставить("ТипКода", 1); ПараметрыШтрихкода.Вставить("ОтображатьТекст", Истина); ПараметрыШтрихкода.Вставить("РазмерШрифта", 12); Рисунок.Картинка = ПолучитьКартинкуШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода); |
|||
7
yanejsh
04.10.12
✎
09:24
|
платформа 8.2.16
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |