Привидения в LibreOffice Impress (то ли глюк, то ли полезное свойство) и борьба с ними

Nov 13, 2021 19:01

   Речь пойдёт о LibreOffice 6.3.0.4 (x64) для Windows. Заметил странную особенность в LibreOffice Impress. Как известно, в LibreOffice Impress есть возможность рисовать на слайде во время показа, как на доске. Для этого нужно заменить курсор мыши на маркер. Сделать это можно или заранее (Slide show - Slide Show Settings... - Mouse pointer as pen - рис. 1), или прямо во время показа (нажать правую кнопку мыши и выбрать "Mouse pointer as pen" - рис. 2).



Рис. 1. Настройка рисования на слайде до показа


Рис. 2. Настройка рисования на слайде во время показа
   Если рисование настроено уже после запуска показа слайдов, то всё нарисованное во время демонстрации слайдов исчезает после окончания демонстрации и больше никогда не появляется. А вот если рисование настроить заранее, то всё, что было нарисовано на слайде во время его демонстрации, проявится на нём и при следующей его демонстрации. Казалось бы, ничего страшного в этом нет. Но представьте себе ситуацию, когда вы готовите презентацию и репетируете заранее то, что вам может понадобиться нарисовать во время доклада. Потом вы добавляете какие-то слайды, изменяете их порядок, сохраняете изменения. А вместе со всеми изменениями сохраняются и скрытые художества. При следующем показе всё это всплывает, как привидения. Причём видно это только при показе слайдов и в полосе предварительного просмотра. На самих же слайдах никаких этих художеств нет, поэтому и стереть их нельзя (рис. 3). Если сдублировать слайд, то дублируются и художества.



Рис. 3. Проявление скрытых художеств в полосе предварительного просмотра
   Как бороться с этими привидениями? Универсального средства пока не найдено (уже найдено - об этом ниже). Можно дать несколько советов.
1. При подготовке презентации не включайте рисование заранее, пользуйтесь правой кнопкой мыши.
2. Если всё же вам удобнее настроить рисование заранее, то после каждого показа слайда с рисованием не забывайте выбирать "Erase All Ink on Slide", кликая правой кнопкой мыши. Важно сделать это в том же сеансе демонстрации, когда вы что-то рисовали на слайде - то, что было нарисовано раньше, сотрётся временно, но при следующем показе снова всплывёт.
3. Иногда при сохранении, выходе и последующем входе в Impress художества из привидений превращаются в реальные объекты (линии), которые можно редактировать и удалять. Но бывает это очень редко, и такое проявление привидений - это отдельный глюк. О том, как их намеренно проявить, чтобы удалить, написано ниже.
4. Если всё уже испорчено, добавьте в презентацию новый пустой слайд, выделите все видимые элементы испорченного слайда и скопируйте в пустой (привидения не выделятся, и поэтому не скопируются). Слайд с привидениями удалите. Конечно, при этом пропадут настройки анимации (если она использовалась), в этом случае придётся настроить её заново.

P.S. 14.11.2021.
   В процессе подготовки иллюстраций ко вчерашнему посту выяснилось, что всё гораздо хуже. Привидения не только возникают, они ещё и размножаются - предположительно, удваиваются при каждом следующем показе слайдов. То, что привидения иногда сами преобразовывались в реальные объекты - скорей всего, редкий баг, который невозможно воспроизвести. Но зато найдено три способа борьбы с вселившимися в файл привидениями.
   Первый способ - оживление привидений. Делает все скрытые объекты видимыми, после чего их можно удалить обычным путём. Был случай, когда все слайды в презентации стали привидениями: показывать можно, а при редактировании они пустые. В этом случае приведённая последовательность действий тоже может помочь.
  1. Открываем ODP файл чем-то, что открывает zip-архивы.
  2. Находим там файл content.xml.
  3. Распаковываем этот файл и открываем текстовым редактором, чем проще редактор - тем лучше, главное, чтобы в нём была возможность поиска и замены (notepad подходит).
  4. Заменяем строку 'DrawnInSlideshow'на 'layout'
  5. Сохраняем content.xml и запаковываем на место старого в ODP.
  6. Открываем ODP файл в LibreOffice Impress, удаляем всё лишнее, сохраняем файл.
   Второй способ похож на первый, но позволяет выборочно удалять привидений, оставляя нужные (при этом они останутся привидениями). Вряд ли для чего-то это может быть полезно.
  1. Открываем ODP файл чем-то, что открывает zip-архивы.
  2. Находим там файл styles.xml.
  3. Распаковываем этот файл и открываем текстовым редактором.
  4. Находим в файле такие строки (их обычно несколько): ''
  5. Можно оставить одну такую строку и в ней удалить последнюю часть draw:display="none". Т.е. должно получиться: ''
  6. Сохраняем файл styles.xml и запаковываем в ODP.
  7. Открываем ODP файл в LibreOffice Impress, удаляем всё лишнее, сохраняем файл.
  8. Снова распаковываем styles.xml и восстанавливаем исправленную строку.
   Третий способ самый радикальный - здесь удаляются все привидения без разбора. Подходит для тех случаев, когда привидения размножились настолько, что LibreOffice уже не может открыть файл - зависает на открытии файла или открывает его очень долго. Способ требует предельной аккуратности.
  1. Открываем ODP файл чем-то, что открывает zip-архивы.
  2. Находим файл content.xml.
  3. Распаковываем этот файл и открываем текстовым редактором. Здесь весьма желателен не просто текстовый редактор, а редактор xml документов.
  4. Удаляем все строки такого вида: ''. В переполненной привидениями презентации таких строк очень много, к этому надо быть готовым.
  5. Сохраняем content.xml и запаковываем на место старого в ODP.
  6. Проверяем, что получилось, в случае неудачи начинаем всё с начала.

Компьютерные страданья, libreoffice

Previous post Next post
Up