четверг, 20 августа 2020 г.

LibreOffice испортит ваш документ DOCX с объектами SmartArt внутри

Давно я не писал негатива про LibreOffice. Видать надо больше использовать его в реальной работе.

Ну так вот, прислали мне документ, который надо было почитать и оставить свои комментарии. А прислали вечером, уже когда я был дома. А дома у меня только LibreOffice в наличии на всех машинах и операционках. Документ в формате DOCX. Понятно, что формат чужой для LibreOffice, однако ж совместимость заявлена. Документ открылся, комментарии писались, все было ОК. Документ был сохранён и отправлен куда надо. А дело было в ночи между прочим.

И с утра я вижу в почте ответ, что документ не открылся. Конечно открывали его в MS Office. Ну я проверил, действительно, чёртов документ не открылся, Ворд показывал ошибку и открывать документ не захотел.

Что меня надоумило попытаться открыть этот испорченный документ в LibreOffice именно версии 6.2 на работе, я не знаю. Там у меня куча версий портативных есть для тестирования. Однако! Документ при открытии также показал ошибку (свою конечно, не такую, как показывал Ворд). НО! LibreOffice документ открыл, позволив ошибку проигнорить, я его просто сохранил опять в DOCX и проверил в Ворде. Открылся без проблем! Единственно меня до сих пор мучает вопрос, а сохранился ли контент полностью? Переслал документ по адресу, там он открылся и история окончилась хорошо (на самом деле процесс ещё идёт, но там был реально косяк мой и он влиял на кучу людей и денег).

Я пожалился Майку и он таки расковырял причину проблем в 140 страничном документе. Проблема оказалась в единственном на весь документ объекте SmartArt. Кто не знает, SmartArt - это такие специфальные рисованные объекты, типа диаграммы, которые можно легко редактировать на лету и получить симпатичную картинку. С поддержкой SmartArt в LibreOffice не сказать, что беда прям, но работать и работать ещё. Они открываются, но редактировать их так же, как в МСО, не получится.

Ну, в общем и целом, я написал багу, обнаружил, что это регрессия (тупо попробовав все версии с 7.0 до 6.2). Причем регрессия была внесена в 6.3! И то, что на работе мне под руки попалась версия 6.2 - это не иначе, как вмешательство провидения. Далее был бисект - поиск дряного коммита. Коммит-то на самом деле полезный и добавлял очередной шаг на пути полноценной поддержки SmartArt в LibreOffice. К сожалению этот коммит потянул за собой не одну мою регрессию, товаращи нашли в багзилле ещё три разного рода проблемы, связанных с тем коммитом. К ещё большему сожалению, парни из Коллабора (а коммит был от них) не спешат эти регресси устранять.

Будьте внимательны и осторожны с документами в чужом формате!

Комментариев нет:

Отправить комментарий

Внимание! Сообщения проходят премодерацию!