Не отображает все страницы документа с таблицей MS Word стандарта Word97-2003

Автор dizel, 6 ноября 2017, 13:27

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

dizel

Приветствую всех! Имеется пакет LibreOffice 5.3

При открытии документа MS Word стандарта Word97-2003 во LibreOffice Writer-е из 10 страниц отображается только 3 !

Проблемный документ содержит длинную таблицу, на много страниц. Writer же оставляет только первую страницу с данной таблицы, а остальные "обрезает".

Прошу помощи! Заранее спасибо!

kompilainenn

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

economist

Это давно известный и нерешаемый глюк. Многостраничные таблицы некорректно открывает даже сам MS Word (других версий). Решения:
1) поставить бесплатный viewer от Microsoft;
2) купить MS Word (от 3 до 8 тыс. руб.);
3) попросить автора сохранить документ в другом формате, например в RTF, PDF итд;
4) попробовать открыть в OpenOffice.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mikekaganski

Я не могу спорить с экспертами, знающими, что решаемо, а что нет. Моих скромных знаний хватает лишь на то, чтобы постепенно решать эту конкретную проблему.
С уважением,
Михаил Каганский

dizel

Цитата: dizel от  6 ноября 2017, 18:57
Цитата: kompilainenn от  6 ноября 2017, 15:48
сам документ выкладывайте
Спасибо, но к сожалению выложить не смогу. В документе таблица, растянутая на 9 листов.

Цитата: economist от  6 ноября 2017, 14:11Это давно известный и нерешаемый глюк. Многостраничные таблицы некорректно открывает даже сам MS Word (других версий). Решения:
1) поставить бесплатный viewer от Microsoft;
2) купить MS Word (от 3 до 8 тыс. руб.);
3) попросить автора сохранить документ в другом формате, например в RTF, PDF итд;
4) попробовать открыть в OpenOffice.

Спасибо за ответ! По пунктам:
2. возможно, на перспективу :)
3. документ от гос.органов - там , к сожалению, никто не будет "заморачиваться" с другими форматами :(
4. только немного привыкли в LibreOffice и переходить на OpenOffice...
1. неплохой вариант, но только для просмотра документов.

Цитата: mikekaganski от  6 ноября 2017, 18:09
Я не могу спорить с экспертами, знающими, что решаемо, а что нет. Моих скромных знаний хватает лишь на то, чтобы постепенно решать эту конкретную проблему.
Проблема давняя. К примеру вот http://forumooo.ru/index.php?topic=2945.0 у нас на форуме похожая поднималась тема, но также не решена.


mikekaganski

@dizel: подсказка: по ссылке выше указано, что проблема с таблицами в DOC, когда последующие страницы "теряются", решена (для версии 6.0).

Теперь немного теории.

Проблемы с неполным отображением таблиц из документов Word в Writer делятся на две большие группы:
1. Некорректный импорт (когда мы действительно импортируем лишь часть информации, и таблица неполная и/или повреждённая). Это разнородная группа багов. Они выявляются по одному, и постепенно фиксятся, но это не значит, что возможно вот так просто "исправить этот баг" - ещё раз: они очень разные, даже если выглядят похоже.
2. Самое злободневное - импорт "плавающих" таблиц.
С плавающими таблицами трудно. В Word таблица может быть "встроена" в текст, а может быть "плавающим" объектом (аналогично картинке), возможно, с обтеканием по бокам. Плавающие таблицы, как и "встроенные", могут переносится между страницами. Writer, к сожалению, не имеет такой опции, и таблицы в нём всегда встроены в текст. Для того, чтобы сделать таблицу "плавающей", мы вставляем её в рамку (рамки могут плавать).
Интерфейс Word делает создание плавающих таблиц чрезвычайно (я бы сказал, чрезмерно) простым. Любое перетаскивание на миллиметр любой таблицы превращает её из нормальной в плавающую. Даже если это никак внешне не проявляется.
И здесь возникает вопрос: как нам импортировать плавающие таблицы, если мы не имеем этого функционала в программе?
Для этого Writer должен (а) решить, нужно ли таблице на самом деле плавать, и (б) если нужно, то вставить её в рамку.

Вторая часть - это и есть причина наблюдаемой Вами проблемы. Рамка не может разбиваться между страницами. (Можно связать между собой несколько рамок, но это не тема моего описания.) Поэтому таблица, какая бы длинная она ни была, как бы ограничивается для просмотра размером рамки. На самом деле вся таблица импортировалась, и если встать в ячейку таблицы, выделить всю таблицу (меню Таблица-Выделить-Таблицу), скопировать, а затем перейти в конец документа и вставить, то вставится нормальная многостраничная таблица со всем содержимым, а потом можно исходную таблицу в рамке убрать.
Но мы стараемся придумать как можно больше поводов не делать таблицу плавающей. Например, мы смотрим, а насколько широкая таблица? Если она почти такая же широкая, как область страницы между полями, то мы считаем, что и так не будет никакого обтекания текстом, а значит, и плавать ей необязательно. И тогда мы игнорируем "плавучесть" исходной Вордовской таблицы и импортируем её как нормальную. Это позволяет избежать проблемы "обрезания" длинных таблиц, но если эвристика ошибается, это нарушает разметку документа.
Проблема была в том, что вся эта эвристика не была реализована для DOC - только для DOCX. Для них мы её старались отполировать насколько возможно.
Вот в том баге, который я указал, и был устранён недочёт игнорирования DOC. Теперь широкие многостраничные таблицы из них тоже должны нормально импортироваться.

Правда, если таблица узкая, то проблема останется - наша эвристика не сработает. Конечно, для истинного исправления этой группы проблем необходима реализация настоящих плавающих таблиц - но это большая работа, которую пока никто не делает.

Ещё раз обращу внимание: если всё же проблема есть, то обойти её можно, скопировав всю таблицу и вставив её в обычную текстовую область (не в рамку).
С уважением,
Михаил Каганский

dizel

Цитата: mikekaganski от  6 ноября 2017, 20:48@dizel: подсказка: по ссылке выше указано, что проблема с таблицами в DOC, когда последующие страницы "теряются", решена (для версии 6.0).
Спасибо за ответ, на странице скачивания LibreOffice http://ru.libreoffice.org/download/ , максимум версия 5.4.2

Цитата: mikekaganski от  6 ноября 2017, 20:48Ещё раз обращу внимание: если всё же проблема есть, то обойти её можно, скопировав всю таблицу и вставив её в обычную текстовую область (не в рамку).
Можно, но обычный пользователь, к примеру, сначала открывает документ в LibreOffice, а там неизвестно есть ли продолжение таблицы или пользователю показан "полный" документ.