Автоматическиая вставка QR-кода через API и через Dispatcher во Writer/Calc

Автор economist, 3 июня 2020, 12:21

0 Пользователи и 1 гость просматривают эту тему.

economist

В LO 6.4 на смену неск. расширениям и поделкам пришел встроенный Вставка - Объект - QR код...
Работает хорошо с выделенным или вручную скопированным текстом, нет проблем с кириллицей.

Применений для QR - масса, напр. вставить в лев-верх углу всех Приказов, Положений, Заявлений, Счетов итп QR - http-ссылку, чтобы каждый с помощью камеры смартфона смог за 10 сек. убедиться что данный приказ еще не отменен, заява - зарегена, счет - оплачен итп. Причем хостить ссылки и слова "да/нет" можно где угодно в облаке, ничего секретного или ПД-шного в словах да/нет - нетути... Вот это и отличает настоящий эл. документооборот от "показушного" - ты держишь бумагу в руках со свойствами электронного дока. Круть!

А теперь о грустном. У меня не получилось вставить QR через API, а диспетчер не понимает переданный массив параметров (т.е. работает без ошибок, но показывает пустой диалог без параметров и с зачем-то включенной по умолчанию Высокой корр. ошибок, что делает код мельче в 4 раза). Вот как я делал, возможно жестко туплю:

sub QRCodeFromDispatcher
' https://api.libreoffice.org/docs/idl/ref/structcom_1_1sun_1_1star_1_1drawing_1_1QRCode.html#details
Dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Border"
args1(0).Value = 1
args1(1).Name = "ErrorCorrection"
args1(1).Value = 1
args1(2).Name = "Payload"
args1(2).Value = "my text"
dispatcher.executeDispatch(document, ".uno:InsertQrCode", "", 0, args1())


Подскажите как через API и как правильно через Диспетчер вставлять QR код родным для LO 6.4+ методом? И можно ли убрать "Высокая" коррекция ошибок по умолчанию? В Сервис-Параметры-Расширенные-Экспертные такого параметра не нашел.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mikekaganski

С уважением,
Михаил Каганский

economist

Ок, подождем реализации.
Но уже сейчас можно использовать эту фичу QR код вот так (псевдокод):

1) Кодом создать текст ссылки и вставить левую пустую ячейку 2-х кол. таблицы вверху
(есть традиция так оформлять "шапки" доков - ну пусть и будет)
2) Скопировать текст ячейки, вызвать QR код, выйдет диалог
3) Выбрать мышью Низкий и нажать Enter. Появится код
4) Удалить текст из ячейки (почему-то сам очищается не всегда)


Макрос этот назначить на событие Печать. Профит.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...