С некоторых пор для заполнения бланка извещения ф.22 Почта России начала требовать регистрации на своем сайте. При этом они вымогают кучу персональных данных. Зная, как легко на почте теряются посылки, я почти уверен, что мои личные данные (если они попадут в какую-то централизованную БД почты России), сразу же утекут заинтересованным людям, в которых я как раз не заинтересован :) Мне это дело крайне не понравилось, и я решил заполнять квитанции в оффлайне.
В инете куча бланков ф.22 в pdf и все бы ничего, если бы не один баг, свойственный линуксам... Когда встречаются pdf-формы, кириллица и линукс, то начинаются проблемы. А именно - форму в пдф-нике можно заполнить, но содержимое, набранное кириллицей, после выхода из режима редактирования не видно. Латиницу видно, числа видно, а вот кириллицу - хрен там. Худо-бедно в решении этой проблемы помогает Foxit Reader, но и у него часть символов почему-то отсутствует. Т.е. заполнение pdf-формы квитанции в линуксе - не вариант.
В связи с этим форма из pdf была переведена в odg (OpenDocument Drawing) для использования в LibreOffice или OpenOffice или чем-то подобном. Получилось тоже кривовато, но юзабельно. Во-первых в LibreOffice Draw как-то криво происходит переход в режим редактирования содержания текстовых полей формы - для этого нужно щелкнуть на поле правой клавишей. Во-вторых, когда устанавливаешь свойство поля Border из макроса, по факту ничего не меняется. Всякие рефрешы/репэинты формы не помогают. Поэтому поля пришлось дублировать - поля с 3d границей служат для ввода, но не печатаются, а поля без границы печатаются, но пользовательский ввод в них отключен и находятся они под полями с 3d-границей. Данные из полей с 3d-границей копируются в поля без границы при нажатии кнопки "Печать". В-третьих (это меньшее из неудобств) - индекс и трек-номер заполняются в отдельных полях, а данные на форму копируются нажатием кнопки "Заполнить индекс и трек". Соответственно, чтобы всё это работало, макросы должны быть включены!
Ну и собственно ссылка на сам файл: форма 22 OpenDocument Drawing