- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
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-файла может быть примерно таким:
В Linux имеется еще несколько решений, предназначенных для показа презентации при поддержке OpenGL: например, небольшая программа (размер архива 8 КБ), написанная на С – glpresent (http://www.cse.unsw.edu.au/~cgray/glpresent). В работе она напоминает KeyJnote; при переходах между кадрами используется OpenGL. Для управления презентацией применяется клавиатура, но доступны только перемещения по слайдам. Пока glpresent поддерживает только файлы в формате PNG. Кроме того, отсутствует возможность использования скриптов, как это реализовано в info-файле.
Другой проект – pointless (http://pointless.dk/) – находится в состоянии альфа, и судя по дате релиза (2004 год), уже из нее не выберется. Презентация создается на TeX-подобном языке, поэтому при ее подготовке у новичков могут возникнуть трудности. Pointless написан на C++ и Python, отличается поддержкой большого числа архитектур (x86_32, AMD64, SPARC, PPC, alpha, mips4) и операционных систем – Linux, Solaris, Irix, (Free, Net, Open)BSD, MacOS X.
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
Ссылки
- Сайт проекта KeyJnote – http://keyjnote.sourceforge.net/
- Сайт проекта KeyJnoteGUI – http://developer.berlios.de/projects/keyjnotegui
- Perl-скрипт – http://www.cv.nrao.edu/~rreid/software/gettransitions