Журнал LinuxFormat - перейти на главную

LXF102:Презентация с изюминкой

Материал из Linuxformat
Перейти к: навигация, поиск
KeyJNote Взгляните на свои слайды по-новому!

Содержание

Продвинутая презентация с KeyJnote

Завидуете коллегам, чьи презентации сделаны в Mac OS X? Напрасно – с Linux можно доносить свои идеи не менее красиво, но гораздо дешевле. Сергей Яремчук подскажет пару рецептов.

Сегодня в Linux предлагается достаточно инструментов для подготовки и показа презентаций, и они обладают всеми необходимыми возможностями. Это и OpenOffice.org, и KPresenter из состава KOffice, и MagicPoint с UltraPoint, не говоря уже о различных инструментах LaTeX и web-реализациях. Однако они часто не предлагают всех возможностей, которые хотелось бы иметь под рукой выступающему, чтобы привлечь к докладу внимание аудитории. Быть может, KeyJnote – то, что вы искали.

KeyJnote представляет собой сценарий, написанный на языке Python и предназначенный для показа презентаций. Его задача – вывод на экран заранее подготовленного PDF или графических файлов в поддерживаемых форматах (JPEG, PNG, TIFF и BMP). При переходах между слайдами используются различные эффекты, основанные на OpenGL. Кроме того, скрипт умеет подсвечивать определенные области слайда и выводить миниатюры всех слайдов презентации; есть и некоторые другие возможности.

Устанавливаем KeyJnote

В репозиториях Kubuntu и ALT Linux пакета KeyJnote нет. Пользователям Gentoo повезло несколько больше: для установки достаточно ввести emerge keyJnote. Хотя, учитывая, что KeyJnote всего лишь скрипт, проблем с его установкой возникнуть не должно. Кроме Python, для работы с документами PDF будет необходим Ghostscript, обеспечивающий подготовку файлов для показа, Считывание метаданных происходит с помощью pdftk. Поэтому для работы KeyJnote в системе потребуется наличие еще некоторых пакетов. В KUbuntu и Debian их можно установить командой

 $ sudo apt-get update
 $ sudo apt-get install python python-opengl python-pygame python-imaging gs pdftk

После этого следует распаковать архив с дистрибутивом KeyJnote и поместить файл keyjnote.py в каталог, путь к которому содержится в переменной $PATH. Для удобства лучше сразу же переименовать файл в keyjnote.

 $ tar xvzf KeyJnote-0.10.1.tar.gz
 $ sudo cp KeyJnote-0.10.1/keyjnote.py /usr/bin/keyjnote

Файл для презентации можно подготовить в различных приложениях. Например, сгенерировать в OpenOffice.org, выбрав Файл > Экспорт в PDF. Дальше достаточно просто указать на него KeyJnote.

 $ keyjnote demo.pdf

В этом случае будет запущен показ в полноэкранном режиме. Для переключения слайдов необходимо использовать левую/правую кнопку мыши или стрелки на клавиатуре. Чтобы слайды переключались автоматически, достаточно добавить параметр -a с указанием времени задержки в секундах. Выход из полноэкранного режима и возврат осуществляется клавишей F; чтобы закрыть окно презентации, достаточно нажать Q. При необходимости эти параметры можно задать прямо в строке запуска.

Например, укажем KeyJnote, чтобы он не переходил в полноэкранный режим (будет показано окно со всеми кнопками) и отображал презентацию в разрешении 800 x 600. Начинать будем со второй страницы.

 $ keyjnote -f -g 800x600 -i 2 demo.pdf

Если планируется показ графических файлов, в качестве входного параметра KeyJnote должен получить только название каталога, причем полный путь утилита не понимает. Следует перейти в каталог, расположенный на уровень выше, а затем уже вызвать KeyJnote:

  $ keyjnote -f -g 800x600 -a 5 photo

После этого все графические файлы, расположенные в каталоге photo, будут последовательно выводиться на экран. Так можно быстро организовать просмотр только что скачанных с фотоаппарата снимков.

Сразу после запуска, пока выводится логотип программы, в фоновом режиме производится процесс генерирования и кэширования презентации. Если дискового пространства недостаточно, такое поведение можно отключить, добавив ключ -nocache. Однако на слабых машинах это может привести к последующим задержкам при демонстрации.

Презентацию не обязательно показывать сразу: ее можно сохранить в файлы формата PNG. Для этого достаточно использовать ключ -output с указанием выходного каталога.

$ keyjnote demo.pdf -o temp


Список всех доступных эффектов можно получить, набрав keyjnote -l. По умолчанию скрипт выбирает эффекты перехода произвольно. Использовав в строке запуска параметр -t, можно установить эффект принудительно, а чтобы он был заметен окружающим, с помощью -T увеличить время перехода (по умолчанию 1000 мс).

$ keyjnote -t PagePeel -T 3000 demo.pdf

Список всех параметров командной строки можно получить, введя -h, или посмотреть в документации, включенной в tar-архив.

Клавиши управления

Kроме клавиш перемещения по презентации, KeyJnote поддерживает еще несколько полезных клавиатурных комбинаций, о которых следует знать. Например, нажатие на Tab приведет к тому, что в окне презентации будут показаны уменьшенные копии всех слайдов. Это очень удобно в том случае, если необходимо быстро перейти на нужную страницу, не перелистывая все подряд. Выбор мышью нужного кадра переключит на него.

Другой полезный эффект поможет привлечь внимание аудитории к определенному участку слайда. Чтобы его активировать, достаточно нажать на клавишу Enter – появится светлый кружок, которым можно управлять мышью. Остальная часть экрана потемнеет, еще больше выделяя его. Для изменения радиуса подсветки используйте кнопки + и -. Если кружка недостаточно, можно просто выделить мышью нужный участок в подсвеченную рамку; остальная часть экрана также станет темнее. Или такой вариант: необходимо временно увеличить некоторый участок в размере, чтобы показать детали. Нажмите клавишу Z и просто выделите мышью нужный участок.

Если же по ходу презентации нажать клавишу S, все события будут записаны в Info-файл.

Info-файл KeyJnote

У KeyJnote есть еще одно полезное свойство, которое поможет сделать показ презентации более удобным, не отвлекающим на мелочи. Все действия можно заранее записать в файл с таким же именем, как у исходного файла или каталога, только с префиксом info, и положить его в тот же каталог. При загрузке KeyJnote он будет обнаружен автоматически. Например, если файл с презентацией называется demo.pdf, то info-скрипт должен быть назван demo.pdf.info.

Info-файл содержит глобальные настройки, действительные для всех страниц, а в отдельных секциях описываются свойства каждой страницы. Такой файл фактически представляет сценарий на Python, и на данный момент поддерживаются следующие свойства:


  • title – по умолчанию в заголовке страницы выводится информация, взятая из метаданных файла. Использовав этот параметр, можно указать свой заголовок.
  • transition – эффекты при переходе между страницами.
  • overview – параметр 0/False или 1/True, показывающий, должна ли выводиться страница при обзоре (по умолчанию – да).
  • skip – при skip=1 данная страница будет пропущена при показе.
  • boxes – координаты для подсветки. Вручную их устанавливать тяжело, лучше воспользоваться клавишей S.
  • timeout – задержка при переходе на следующую страницу.
  • sound – мелодия, которая будет проиграна с помощью MPlayer при показе страницы. Следует помнить, что мелодия будет играть все время, пока не будет запущена другая мелодия или не закончится презентация.

В качестве глобальных переменных могут использоваться DocumentTitle, Fullscreen и AvailableTransitions. Назначение первых двух понятно, а AvailableTransitions содержит список всех переходов. Например, чтобы исключить при показе эффект Crossfade, можно написать:

AvailableTransitions.remove(Crossfade)

а если для показа всех страниц необходимо использовать эффект SpiralOutIn

AvailableTransitions = SpiralOutIn

Общий вид info-файла может быть примерно таким:


 DocumentTitle = “My Presentation”
 Fullscreen = true
 AvailableTransitions = [WipeCenterOut]
 PageProps = {
  2: {
       ‘title’: “Title Page”,
       ‘transition’: PagePeel,
        ‘sound’: “music.mp3},
   5: {
        ‘title’: “Page 5”,
        ‘transition’: ZoomOutIn,
        ‘timeout’: 5000
     }
 }

В этом случае презентация будет происходить в полноэкранном режиме; при показе всех страниц, кроме 2 и 5, будет использован эффект WipeCenterOut. Страницы 2 и 5 будут выводиться со своими заголовками и эффектами PagePeel и ZoomOutIn.

При составлении файла следует помнить, что мы имеем дело с Python, который не очень любит лишние табуляции и пробелы. Иначе сообщение «Oops! The info script is damaged!» (Info-скрипт испорчен!) вам точно обеспечено.

Тем, кто для подготовки презентации использует LaTeX, для создания info-файлов можно порекомендовать Perl-скрипт gettransitions [3]. Работает он просто – вы «скармливаете» ему TeX-файл, а он сам находит то, что нужно:

$ gettransitions talk.tex

Как результат, на выходе получим файл talk.pdf.info.


Относительно недавно появился неплохой графический интерфейс для среды KDE – KeyJnoteGUI [2]. Устанавливается он как и все приложения для Python:

$ tar xjvf keyjnotegui-0.4.3.tar.bz2
$ cd keyjnotegui-0.4.3/
$ sudo python setup.py install

после чего в подменю Графика стартового меню появится новый пункт. Пользоваться KeyJnoteGUI очень просто: указываете в поле Source на каталог с рисунками или PDF-файл, затем выставляете настройки и нажимаете Run. Вот и все премудрости.

Из недостатков KeyJnote можно отметить повышенные системные требования. При больших объемах исходного материала на слабых компьютерах возможно появление задержек. Но в остальном KeyJnote представляет собой простой и в то же время весьма эффективный инструмент, позволяющий сделать презентацию динамичней. LXF

Ссылки

  1. Сайт проекта KeyJnotehttp://keyjnote.sourceforge.net/
  2. Сайт проекта KeyJnoteGUIhttp://developer.berlios.de/projects/keyjnotegui
  3. Perl-скрипт – http://www.cv.nrao.edu/~rreid/software/gettransitions
Персональные инструменты
купить
подписаться
Яндекс.Метрика