Печать QR-кода в COM/ActiveX и в Excel
Показов 30880
Комментарии 0
Печать QR-кода в Excel, Word, 1С и проч. приложениях с поддержкой COM/ActiveX. Часть библиотеки BedvitCOM Использованы: libqrencode + GDI+ Функционал: 1. Сохранение изображения в форматы: bmp, jpeg, gif, tiff, png. 2. QR-кода сохраняется в монохромное изображение, где формат позволяет, т.е. до 1 бита на пиксель. В любом цвете RGB. К примеру размер .PNG 1140*1140 пикселей (1 бит на пиксель) - 2КБ. 3. Возможность задавать размер модуля (пикселя QR). 4. Возможность задавать цвет в RGB. 5. Возможность задавать версию QR кода. 6. Возможность задавать уровень коррекции ошибок. 7. Возможность изменить толщину рамки - quiet zone (начиная с v1.0.4.8) 8. Емкость QR-кода составляет до 7000 цифр или 4000 символов 9. (Отдельно) Конвертации вышеперечисленных форматов из одного в другой Параметры/Аргументы функции QRcodePrint : 1. QRcodeText - что печатаем, строка(обязательное). 2. FileOut - куда печатаем, полное имя файла 3. FormatImageOut - формат изображения (код в функции/формат):0 (bmp), 1 (jpeg), 2 (gif), 3 (tiff), 4 (png)-по умолчанию. (этот и остальные аргументы не обязательны) 4. SizePixel - размер пикселя (модуля), по умолчанию 4 (минимально рекомендуемый) 5. PixelColorR =0 цвет RGB если хотим цветную картинку (по умолчанию черный) 6. PixelColorG = 0 7. PixelColorB =0 8. VersionSymbol - версия QR кода (1-40) (по умолчанию = 0-выбор автоматом) 9. LevelErrCorrect - уровень коррекции ошибок (0-3, по умолчанию = 1 ~15%) 10. QuietZone - Размер в модулях зоны тишины (>=0, по умолчанию = 4). Quiet zone — это область, отделяющая границу штрих-кода от фона и других изображений. Начиная с v1.0.4.8 11. Добавил отдельный метод (ConvertFormatImage) конвертации вышеперечисленных форматов из одного в другой. В случаях конвертации сторонних изображений. Параметры/Аргументы метода ConvertFormatImage : 1. FileIn - полное имя файла (обязательное). 2. FileOut - полное имя файла (обязательное). 3. FormatImageOut - нужный формат (обязательное). Код в функции/формат:0 (bmp), 1 (jpeg), 2 (gif), 3 (tiff), 4 (png) Пример использования: 1. Excel - открываем или устанавливаем xll как надстройку нужной разрядности (Excel), пишем код:
Последние версии библиотек. UPD: 20/04/2021 Теперь и как функция Excel - QRcodePrint Параметры/Аргументы функции QRcodePrint : 1. QRcodeText - что печатаем, строка(обязательное). 2. SizePixel - размер пикселя (не картинки, а квадратика в QR), по умолчанию 4 (минимально рекомендуемый) 3. PixelColorR =0 цвет RGB (0-255) если хотим цветную картинку (по умолчанию черный) 4. PixelColorG = 0 5. PixelColorB =0 6. VersionSymbol - версия QR кода (1-40) (по умолчанию = 0-выбор автоматом), см. ниже 7. LevelErrCorrect - уровень коррекции ошибок (0-3, по умолчанию = 1 ~15%), см. ниже 8.WidthImage - постоянная ширина (т.к. при кодировании разного размера данных размер QR меняется). Если хотим постоянный размер - проставляем. По умолчанию "-1" (размер фактический) 9.HeightImage - постоянная высота, тоже, что и п.8 10. QuietZone - Размер в модулях зоны тишины (>=0, по умолчанию = 4). Quiet zone — это область, отделяющая границу штрих-кода от фона и других изображений. Начиная с версии xll - v2.0.1.6 11.Left - отступ от левого верхнего угла ячейки с функцией (рекомендуется оставлять значение по умолчанию = 0) 12.Top - тоже, что и п.11 (рекомендуется оставлять значение по умолчанию = 0) п.11,12 рекомендовано использовать, только тогда, когда есть понимание, как это все работает (см.ниже). В обратном случае может быть ситуация, когда изменили размер ячейки или изменили 11 и/или 12 параметр, и теперь QR - печатается в другой ячейке, а в предыдущей он уже не удалится, останется до ручного удаления. Результат: При удаче, возвращается закодированная в QR-коде строка, при ошибке - "#ЧИСЛО!" Важно: Ячейка в которую помещается QR-код предварительно очищается от старых версий QR. Если QR-код больше не нужен можно удалить вручную или задать пустую строку для первого параметра функции (старый QR-код удалится, новый не создастся). Важно! QR-код при этом должен находится (его левый верхний угол) в рамках ячейки, в которой находится функция QRcodePrint(), в противном случай картинка не удалится. |
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии