Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Ошибка сохранения файлов в LibreOffice  (Прочитано 810 раз)

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

Оффлайн DuhLesa

  • Автор темы
  • Любитель
  • *
  • Сообщений: 78
  • Созданный быть полезным другим.
    • Просмотр профиля
    • Северная чернь
Ошибка сохранения файлов в LibreOffice
« : 01 Август 2021, 11:21:30 »
Очень неприятную ошибку отловил в файлах odf(в частности в ods, хотя встречалась и в odt) при работе в LibreOffice.

При попытке открыть файл получаем сообщение:
Цитировать
Ошибка чтения.
Ошибка формата файла в поддокументе content.xml в позиции 2,1811811(строка, столбец).
Только вдумайтесь ошибка во второй строке но в позиции близкой к 2-м миллионам… МИЛЛИОНАМ!!!
(Нажмите, чтобы показать/скрыть)

Сломан файл…
Помня что это всего лишь ZIP-архив посмотрим всё ли хорошо в архиве.
Простой анализ:
zip -T file.odsпоказывает:
Цитировать
error:  invalid compressed data to inflate content.xml
что у нас проблема с файлом content.xml внутри архива (ну кто бы сомневался…) - основным файлом содержимого.

По заветам интернета пробуем восстановить ZIP-архив:
zip -F file.ods --out repaired_file.odsполучаем на экран:
Цитировать
Fix archive (-F) - assume mostly intact archive
Zip entry offsets do not need adjusting
 copying: mimetype
 copying: Configurations2/floater/
 copying: Configurations2/menubar/
 copying: Configurations2/popupmenu/
 copying: Configurations2/toolbar/
 copying: Configurations2/progressbar/
 copying: Configurations2/toolpanel/
 copying: Configurations2/images/Bitmaps/
 copying: Configurations2/statusbar/
 copying: Configurations2/accelerator/
 copying: manifest.rdf
 copying: meta.xml
 copying: styles.xml
 copying: content.xml
 copying: Thumbnails/thumbnail.png
 copying: META-INF/manifest.xml
 copying: settings.xml
И вот тут уже начинают терзать смутные сомнения… просто скопировал content.xml и всё?
Какое же это восстановление?! И конечно при проверке нового файла repaired_file.ods имеем ровно ту же ошибку:
Цитировать
error:  invalid compressed data to inflate content.xml
Ничего не "Fix archive"… ни разу!

При попытке достать content.xml с помощью оболочки Engramp имеем ту же ошибку:
Цитировать
error:  invalid compressed data to inflate
Все бесплатные программы для восстановления .ods возвращали такой же результат как пресловутая команда zip -F - нечитаемый. Единственная программа(демо версия) "SysInfoTools Calc Repair" показала что-то "восстановленное", но демо-версия не позволяет это записать и проверить результат. А стоит SysInfoTools Calc Repai весьма немалых денег и конечно никто её оплачивать не готов…

Уважаемое сообщество буду признателен за любую помощь и советы. Готов предоставить пяток "битых" файлов "для опытов", если кто-то готов щедро пожертвовать своим временем. Возможно кто-то уже решал подобные задачи восстановления и наработал прекрасный опыт - прошу поделиться.

(Нажмите, чтобы показать/скрыть)

Оффлайн Dixi257

  • Активист
  • *
  • Сообщений: 287
    • Просмотр профиля
Re: Ошибка сохранения файлов в LibreOffice
« Ответ #1 : 03 Август 2021, 02:23:22 »
Добрый день! Описание больше похоже на ошибки файловой системы / сети. Приложите один файл, посмотрю.

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4965
  • Capture the truth
    • Просмотр профиля
Re: Ошибка сохранения файлов в LibreOffice
« Ответ #2 : 03 Август 2021, 02:27:42 »
DuhLesa, случайно не файлы по сети открываете? Насколько помню, либра плохо работает с сетевыми файлами.
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Radeon R7 260X :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн DuhLesa

  • Автор темы
  • Любитель
  • *
  • Сообщений: 78
  • Созданный быть полезным другим.
    • Просмотр профиля
    • Северная чернь
Re: Ошибка сохранения файлов в LibreOffice
« Ответ #3 : 03 Август 2021, 22:47:51 »
Уважаемый Dixi257, спасибо за желание помочь. Я написал Вам на e-mail, но ответа пока не получил. Бросил на MEGA-облако файлик примера для всех кто ещё захочет посмотреть: https://mega.nz/file/PQkiHbzQ#pEXfZNwJbOG_P4Zx0hvk9gxYiylatHWmt7QxL1Sqlv4

Уважаемый ALiEN175, Вы в чём-то правы ошибки возникают кажется чаще при работе по сети. Смонтированы "общие" ресурсы у пользователей по smb-протоколу. Но это в корне ничего не меняет! Сотни файлов годами редактируются в таком режиме пользователями и всё хорошо! Например с doc-файлами проблем не замечено! И с 2013 года не было проблем ни с OpenOffice ни с LibreOffice. А вот с приходом 7-й версии LibreOffice начались какие-то вечные неурядицы.
(Нажмите, чтобы показать/скрыть)

А если файл сломался - то уже не важно на смонтированном он носителе или на локальном… Он сломан и не открывается.

Я немного поколдовал - что-то восстановить удалось…

Метод использовал такой:

1. Заготовить простой-пустой primer.ods -файлик. Открыть его менеджером архивов(у меня это engrampa), вытащить из архива образцовый content.xml(я его переименовал в primer-content.xml и держал под рукой)… Нам нужны будут оттуда закрывающие xml-тэги. Вот вроде этих:            </text:p>
          </table:table-cell>
        </table:table-row>
      </table:table>
      <table:named-expressions/>
    </office:spreadsheet>
  </office:body>
</office:document-content>

2. Открыть менеджером архивов битый .ods-файл(например Отчёт.ods ну или что там у Вас поломалось?) и вытащить оттуда сломанный content.xml
(Нажмите, чтобы показать/скрыть)

3. Открыть простым текстовым редактором(у меня это mousepad) content.xml, найти последний закрывающийся xml-тег (обычно это </text:p> или </table:table-cell>) и удалить всё что после него (там обычно только "ошмётки" открывающих тегов) восстановить(скопировав из образца) последовательность закрывающих тегов(см. пример выше).

4. Вернуть "отремонтированный" content.xml в архив .ods-файла(мы договорились для примера что это Отчёт.ods у Вас поломался… Помните? Вот в архив Отчёт.ods и вложить преобразованный (дополненный необходимыми закрывающими тегами) content.xml с заменой старого(ломанного) content.xml(который содержался в архиве Отчёт.ods)).

5. Если всё сделано правильно - какую-то часть файла увидите открыв его LibreOffice.
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 03 Август 2021, 23:03:23 от DuhLesa »

 

Страница сгенерирована за 0.058 секунд. Запросов: 21.