Библиотека сайта rus-linux.net
Шесть программ просмотра CHM для Linux
Оригинал: Six CHM viewers for Linux
Автор: Federico Kereki
Дата: 30 ноября 2007
Перевод: Александр Тарасов aka oioki
Дата перевода: 3 декабря 2007
При копировании материала обязательны указание автора, переводчика и ссылки на оригинал статьи и настоящую страницу как первоисточник перевода!
Даже если вы работаете только в Linux, вам наверняка придется использовать файлы формата Microsoft Compiled HTML Help (CHM). Множество проектов с открытым кодом, включая Apache, MySQL, PostgreSQL, Python и PHP, используют этот распространенный формат.
Microsoft разрабатывал CHM как проприетарный формат для Windows 98, взамен старого формата WinHelp (HLP). CHM все еще используется в Windows XP и Vista, хотя некоторые приложения используют более новый формат Microsoft Help 2.
Файлы CHM представляют из себя совокупность веб-страниц, оглавление с гиперссылками и индекс, все это сжато с помощью LZX. Файлы CHM имеют небольшой размер (из-за сжатия), предоставляют возможность полнотекстового поиска и возможность объединения нескольких CHM-файлов в один с объединением оглавления и индекса.
Даже несмотря на то, что CHM - это закрытый формат Microsoft, существует несколько проектов, которые могут воспринимать этот формат.
KchmViewer
KchmViewer - стандартное средство KDE для просмотра файлов CHM. Современная версия 3.1 была выпущена в июне, хотя уже имеется бета-версия 4.0. Эта программа распространяется под лицензией GNU General Public License (GPL) и использует части кода другого средства просмотра - xCHM.
KchmViewer доступен в большинстве репозиториев. Можно также скачать и собрать его из исходников, путем стандартных команд configure
и make
. Только убедитесь в наличии пакета qt3-devel
, для получения более детальной информации обратитесь к странице загрузок.
В KDE KchmViewer по умолчанию связан с файлами CHM, т.е. при клике на таком файле последует его автоматический запуск. Для отображения текста может быть использован либо визуальный компонент библиотеки Trolltech Qt либо оригинальный KHTML widget окружения KDE (это переключается в меню Settings). Мне попался один файл CHM, который отображался некорректно, и переключение метода отображения решило проблему.
KchmViewer поддерживает просмотр закладок, и предоставляет вкладки Contents, Index и Search. Программа правильно обрабатывает иностранные языки и многобайтовые символы. В документе можно устанавливать закладки, редактировать и удалять их. Можно смотреть оригинальный код HTML, и даже выбрать для этого определенный редактор через пункт меню Settings.
Help Explorer Viewer
Программа Help Explorer Viewer, разработанная Kama Software, бесплатна, но код ее не открыт. Есть версия как для Windows, так и для Linux, что весьма полезно при работе сразу с двумя операционными системами или в сети с системами обеих типов. Help Explorer Viewer можно использовать не только для просмотра файлов CHM, но и для файлов формата HLP (старых) и HXS (новых). Согласно веб-сайту, вы можете интегрировать Help Explorer Viewer в свое приложение через API.
Установка проста. Посетите страницу загрузки и скачайте версию для Linux, последняя версия 3.0. Зайдите в папку, в которую скачали файл и введите следующие команды root:
tar zxf HelpExplorer3.0_LINUX.tar.gz
cd Setup/
./setup.sh
После просмотра лицензионного соглашения конечного пользователя (EULA),
установите Help Explorer Viewer в /usr/local/HelpExplorer
. Если
нужно удалить его, запустите в этой папке скрипт uninstall.sh
.
Установщик спросил меня, хочу ли я установить пункты меню KDE/GNOME. Хотя я и
ответил да, ссылка на программу не появилась ни в главном меню, ни в меню
Konqueror, ни даже в контекстном меню, которое появляется при нажатии правой
кнопкой мыши на файле CHM. Не знаю, где эти ссылки должны появится, я нигде
не смог найти их.
Help Explorer Viewer содержит все используемые механизмы поиска: оглавление (организовано иерархически, подобно дереву), индекс (список ключевых слов) и обычный поиск. Все мои пробные CHM-файлы открывались без проблем, но у меня не получилось изменить шрифт. Можно переключаться между вкладками Contents, Index, Search и Favorites (в других программах - Bookmarks).
ChmSee
ChmSee - пакет Gtk2+ для GNOME с открытым кодом, его веб-сайт написан в основном на китайском; если бы не некоторые части на английском, пришлось бы проводить установку и использование ChmSee мучительным методом проб и ошибок. Он свободен под лицензией GNU GPL, в августе была выпущена версия 1.0.
Установка ChmSee была бы совсем хлопотной, если бы не стандартные базы openSUSE. Если вы хотите собрать его из исходников, вам потребуются библиотеки Gtk2+, libglade-2.0, gecko, chmlib и OpenSSL. После получения пакета с исходниками необходимо ввести следующие команды:
tar xzf chmsee-1.0.0.tar.gz
cd chmsee-1.0.0
./configure
make
sudo make install
Если не сможете найти chmlib, придется вручную добавить параметр к команде
configure (--with-chmlib=/путь/до/chmlib
). После установки
ChmSee оказался добавлен в меню openSUSE, но не в Konqueror или контекстное
меню.
Можно изменять шрифты, используемые для отображения (кое какие отсутствуют и в KchmViewer, и в Help Explorer Viewer) через пункт меню Edit -> Setup. Будьте осторожны с функцией Clear, которая удаляет все рабочие файлы ChmSee и вызывает частые падения программы. Если его выбрать, то придется заново открыть файл CHM. В ChmSee нет вкладок Index или Search; по сути, в нем вообще нет функции поиска. Когда я проводил тестирование, некоторые файлы CHM показывали странные сообщения (и не отображался текст), а некоторые изображения не показывались вовсе.
ChmSee выглядит многообещающим, но еще необходимо многое сделать, прежде чем он достигнет уровня KchmViewer и Help Explorer Viewer.
Другие кандидаты
Пользователи Firefox могут скачать дополнение CHM Reader версии 0.2.1.1. Установка его проста. Эта утилита добавляет новую запись Open CHM Files в пункте меню File. Когда вы открываете файл CHM, оглавление по умолчанию скрыто, но можно поднять его вверх, нажав Ctrl-E. Просмотр файлов работал неплохо, но CHM Reader не предоставляет функции глобального поиска, а поиск в Firefox работает только на текущей странице.
Я пробовал GnoCHM, xCHM и KCHM (по-видимому, заброшенный; его последняя версия датируется 2003 годом), но столкнулся с проблемой зависимостей. Я не смог найти дистрибутивы, и установка из исходников была трудной.
Заключение
KchmViewer предлагает простую установку и замечательно соединяется с окружением рабочего стола. Help Explorer Viewer полезен для разработчиков и пользователей, работающих и с Linux, и с Windows. ChmSee содержит кое-какие ошибки, и я не рекомендовал бы его для повседневного использования. CHM Reader - хорошее дополнение, но отсутствие поиска является его недостатком.