![]() |
![]() |
![]() |
|
Помогите со штрих-кодом | ☑ | ||
---|---|---|---|---|
0
Cчactливый
29.11.11
✎
17:57
|
Генерация штрих-кода PDF417.
Генерация штрих-кода происходит аналогично конфигурации «Демонстрационная конфигурация "Управляемое приложение"». При этом время генерации составляет порядка 30-40 секунд. Как можно ускорить этот процесс. Значение штрих-кода «0*1062_1057_1050_47_1063_1085_47_50_50_47_55_46_57_46_49_49_*14246489*234*3*» Текст функции Функция ПолучитьКартинкуШтрихкода() // В зависимости от типа платформы подключим соответствующую внешнюю компоненту ИнформацияОСистеме = Новый СистемнаяИнформация; Если ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовWindows32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовWindows64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Linux_x86 Тогда ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); Иначе ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); КонецЕсли; // Создадим объект внешней компоненты Компонент = Новый("AddIn.КартинкаШтрихкода.Barcode"); // Если нет возможности рисовать Если НЕ Компонент.ГрафикаУстановлена Тогда // То картинку сформировать не сможем Возврат Неопределено; КонецЕсли; // Если в системе установлен шрифт Tahoma Если Компонент.НайтиШрифт("Tahoma") = Истина Тогда // Выбираем его как шрифт для формирования картинки Компонент.Шрифт = "Tahoma"; Иначе // Шрифт Tahoma в системе отсутствует // Обойдем все доступные компоненте шрифты Для Сч = 0 По Компонент.КоличествоШрифтов -1 Цикл // Получим очередной шрифт, доступный компоненте ТекущийШрифт = Компонент.ШрифтПоИндексу(Сч); // Если шрифт доступен Если ТекущийШрифт <> Неопределено Тогда // Они и будет шрифтом для формирования штрихкода Компонент.Шрифт = ТекущийШрифт; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; // Установим размер шрифта Компонент.РазмерШрифта = 12; // Зададим размер картинки Компонент.Ширина = 100; Компонент.Высота = 90; // Разрешим компоненте самой определять тип кода Компонент.АвтоТип = Ложь; Компонент.ТипКода = 6; // ИЛИ установим код EAN-13 // Компонент.ТипКода = 1; // // Тип смотрим в документации на внешнюю компоненту // Если код содержит контрольный символ, обязательно указываем Компонент.СодержитКС = СтрДлина(ЭтотОбъект.Штрихкод) = 13; // Если отображать контрольный символ не нужно // Компонент.ВидимостьКС = Ложь; // Формируем картинку штрихкода Компонент.ЗначениеКода = ЭтотОбъект.Штрихкод; // Если установленная нами ширина меньше минимально допустимой для этого штрихкода Если Компонент.Ширина < Компонент.МинимальнаяШиринаКода Тогда // Скорректируем ширину Компонент.Ширина = Компонент.МинимальнаяШиринаКода + 10; КонецЕсли; // Сформируем картинку ДвоичныеДанныеКартинки = Компонент.ПолучитьШтрихкод(); // Если картинка сформировалась Если НЕ ДвоичныеДанныеКартинки = Неопределено Тогда // Формируем из двоичных данных Возврат Новый Картинка(ДвоичныеДанныеКартинки); КонецЕсли; Возврат Неопределено; КонецФункции |
|||
1
pumbaEO
29.11.11
✎
18:14
|
А замер производительности, что говорит?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |