Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Генератор идей
Модераторы
Сообщений: 3133
Создаём файл справки CHM
Сложность статьи: начальный уровень.
—> Шаг 1. Создаем файлы htm (работа в SHAREPOINT DESIGNER 2007; rus)
—> Шаг 2. Собираем chm из htm (работа в HTML Help Workshop; rus)
—> Взаимодействие CHM и NeoBook
—> Перевод иноязычной справки на родной язык (исправление/дополнение имеющегося chm)
—> Ограничения CHM или что стоит предусмотреть
Главная цель статьи — продемонстрировать, насколько легко и просто можно создать полноценную, современную справку для своей программы с помощью бесплатных стандартных средств и тем самым сделать ее доступной для широкой аудитории!
Справка, созданная в виде файла *.chm обладает рядом замечательных свойств:
Вставка печати и подписи в документ Word 2003
Во-первых, это мгновенный полнотекстовый поиск по всему содержанию справки!
Во-вторых, это интуитивно понятная древовидная структура оглавления («Содержания»), всегда доступного из окна chm-файла.
В-третьих, на страницах справки можно использовать все возможности форматирования доступные для Web-страниц (все возможности, имеющиеся в HTML и CSS), т.е. Вы можете вставлять в файл справки картинки, гиф- и флеш- анимацию, гиперссылки на страницы самой справки и на сайты в сети Интернет, делать ссылки на внешние файлы, использовать script-код, DHTML, элементы ActiveX, аудио и видео, можете применять любое форматирование к тексту…, иначе говоря, Вы можете представить информацию именно так, как Вы считаете нужным.
Кроме указанных трех главных прелестей, есть и другие приятные свойства chm-файла:
— автоматическое сжатие (архивирование) содержимого при компиляции chm-файла (что значительно уменьшает размер используемых материалов);
— возможность создать «Указатель» (список ключевых слов, которые Вы можете назначить для разных разделов справки);
— возможность создать вкладку «Избранное» (пользователь сможет делать «закладки», запоминать актуально значимые для него страницы справки, чтобы потом в одно мгновение находить их).
Основное время при создании справки тратится на создание текста с картинками в htm-файлах (эта работа ничем не отличается от работы в MS Word).
Когда же htm-файлы готовы, то их нужно скомпилировать в полноценную chm-справку.
Вопреки распространенному мнению эта (вторая) часть работы совсем не сложная, достаточно ее осуществить один раз, чтобы в этом убедиться.
Чтобы развеять сомнения, провел эксперимент — из заготовленных htm-файлов я собрал справку (делая всё с нуля, т.е. без заготовленного файла «Содержания» и т.д.) за 6 минут! Включил секундомер, запустил HTML Help Workshop, и выключил секундомер только после того как открылась «свежеиспеченная» Cправка. Файл состоял из 10 htm-файлов и 29 файлов картинок. Так что не верьте тому, кто скажет, что создание справки штатными средствами — это трудный и муторный процесс! Всё с точностью до наоборот — работать штатными средствами легко, удобно и просто!
Раздел: текстовые процессоры. Заметка 13. Создание шаблона справки, используя таблицу.
(Во второй раз и в последующие разы. ).
Считаю обоснованным вывод: штатных бесплатных средств для создания справки – более чем достаточно. Замечательно еще то, что HTML Help Workshop создает очень компактные chm, чем не могут похвастать платные программы создания chm.
Буду признателен за найденные неточности и опечатки.
P.S.: В статье приведены ссылки на скачивание необходимых программ и русификатора к HTML Help Workshop.
Прикрепления: 4803820.png (32.6 Kb)
Сообщение
Создаём файл справки CHM
Сложность статьи: начальный уровень.
—> Шаг 1. Создаем файлы htm (работа в SHAREPOINT DESIGNER 2007; rus)
—> Шаг 2. Собираем chm из htm (работа в HTML Help Workshop; rus)
—> Взаимодействие CHM и NeoBook
—> Перевод иноязычной справки на родной язык (исправление/дополнение имеющегося chm)
—> Ограничения CHM или что стоит предусмотреть
Главная цель статьи — продемонстрировать, насколько легко и просто можно создать полноценную, современную справку для своей программы с помощью бесплатных стандартных средств и тем самым сделать ее доступной для широкой аудитории!
Справка, созданная в виде файла *.chm обладает рядом замечательных свойств:
Во-первых, это мгновенный полнотекстовый поиск по всему содержанию справки!
Во-вторых, это интуитивно понятная древовидная структура оглавления («Содержания»), всегда доступного из окна chm-файла.
В-третьих, на страницах справки можно использовать все возможности форматирования доступные для Web-страниц (все возможности, имеющиеся в HTML и CSS), т.е. Вы можете вставлять в файл справки картинки, гиф- и флеш- анимацию, гиперссылки на страницы самой справки и на сайты в сети Интернет, делать ссылки на внешние файлы, использовать script-код, DHTML, элементы ActiveX, аудио и видео, можете применять любое форматирование к тексту…, иначе говоря, Вы можете представить информацию именно так, как Вы считаете нужным.
Кроме указанных трех главных прелестей, есть и другие приятные свойства chm-файла:
— автоматическое сжатие (архивирование) содержимого при компиляции chm-файла (что значительно уменьшает размер используемых материалов);
— возможность создать «Указатель» (список ключевых слов, которые Вы можете назначить для разных разделов справки);
— возможность создать вкладку «Избранное» (пользователь сможет делать «закладки», запоминать актуально значимые для него страницы справки, чтобы потом в одно мгновение находить их).
Основное время при создании справки тратится на создание текста с картинками в htm-файлах (эта работа ничем не отличается от работы в MS Word).
Когда же htm-файлы готовы, то их нужно скомпилировать в полноценную chm-справку.
Вопреки распространенному мнению эта (вторая) часть работы совсем не сложная, достаточно ее осуществить один раз, чтобы в этом убедиться.
Чтобы развеять сомнения, провел эксперимент — из заготовленных htm-файлов я собрал справку (делая всё с нуля, т.е. без заготовленного файла «Содержания» и т.д.) за 6 минут! Включил секундомер, запустил HTML Help Workshop, и выключил секундомер только после того как открылась «свежеиспеченная» Cправка. Файл состоял из 10 htm-файлов и 29 файлов картинок. Так что не верьте тому, кто скажет, что создание справки штатными средствами — это трудный и муторный процесс! Всё с точностью до наоборот — работать штатными средствами легко, удобно и просто!
(Во второй раз и в последующие разы. ).
Считаю обоснованным вывод: штатных бесплатных средств для создания справки – более чем достаточно. Замечательно еще то, что HTML Help Workshop создает очень компактные chm, чем не могут похвастать платные программы создания chm.
Буду признателен за найденные неточности и опечатки.
P.S.: В статье приведены ссылки на скачивание необходимых программ и русификатора к HTML Help Workshop. Автор — Вадим
Дата добавления — 28 Мая 2011 в 20:54
Источник: neobooker.ru
Создание файла помощи — файла справки — в формате CHM для .NET Windows-приложения — с примерами
В этой статье рассматривается вопрос создания файла справки в формате CHM с помощью программы Dr.Explain, а также его интеграция в .NET-приложение. Из статьи вы узнаете:
- как создать и настроить проект в Dr.Explain;
- как создать удобную структуру файла справки;
- как создать аннотированное изображение формы интерфейса .NET-приложения;
- как настроить значения Help ID;
- как сохранить проект;
- как экспортировать проект в СHM файл;
- как интегрировать файл справки в .NET-приложение.
Установка Dr.Explain
Вы можете скачать установочный файл программы Dr.Explain на официальном сайте по адресу http://www.drexplain.ru/. Для этого воспользуйтесь кнопкой «Скачать бесплатно». После того как файл будет загружен запустите его. Для установки программы пройдите стандартную процедуру, следуя указаниям мастера (Рисунок 1). При использовании пробной версии Dr.Explain доступны все функции, но все изображения в экспортированных файлах помечаются водяными знаками.
Рисунок 1. Мастер установки «Dr.Explain»
Создание и настройка нового проекта
При запуске программы в окне «Проекты Dr.Explain» (Рисунок 2) выберите пункт «Создать новый проект» и нажмите «ОК», либо используйте пункт «Файл -> Создать» главного меню.
Рисунок 2. Окно «Проекты Dr.Explain»
Для настройки параметров экспорта в формат CHM, выберите пункт «Настройки -> Настройки проекта» в главном меню. Выберите раздел «CHM экспорт» в окне настроек.
Создание тематических разделов в файле справки
Чтобы получить удобную исчерпывающую структуру файла справки создайте отдельные темы для описания всех форм и объектов .NET-приложения.
Создайте новую тему с помощью пункта «Настройки -> Добавить тему» главного меню. Также можно использовать пункт «Добавить -> Добавить тему» контекстного меню, которое вызывается нажатием правой кнопки мыши на любой позиции дерева проекта (Рисунок 3).
Рисунок 3. Дерево проекта «Dr.Explain»
Настройте порядок следования разделов в структуре документа с помощью пунктов «Выше» и «Ниже» контекстного меню. Изменить названия тем можно с помощью пункта «Переименовать».
Далее создайте содержимое разделов, выберите интересующий пункт в дереве проекта и приступайте к заполнению в окне редактора. Заполняйте раздел в свободной форме. В редакторе предусмотрены основные стандартные функции редактирования и форматирования текста и ряд функция для работы с изображениями, видео, таблицами и переменными. Использование переменных позволяет заменить повторяющиеся данные именем переменной. В таком случае при изменении присвоенного переменной значения, соответствующий текст изменится во всем документе.
Для повышения удобства поиска по файлу справки создайте и настройте ключевые слова. Откройте окно ключевых слов — кнопка «Ключевые слова» (Рисунок 4). Для добавления и удаления слов служат одноименные кнопки. Настройте привязку тем к словам, для этого выбрав интересующий раздел в структуре проекта, проставьте метки в полях тех терминов, которые хотите ассоциировать с данной темой.
Рисунок 4. Ключевые слова
Для создания наглядного описания интерфейса .NET-приложения и его отдельных элементов воспользуйтесь функцией захвата объекта кнопка — «Схватить экран».
Рисунок 5. Окно «Захват объекта»
После открытия окна «Захват объекта» (Рисунок 5) установите метки в поле «Accessible -объект» или «Win 32-окно», затем выполните захват изображения интересующей формы одним из способов, предложенных в окне захвата. В структуре документа будет автоматически создан раздел, содержащий аннотированное изображение формы приложения (Рисунок 6). В окне редактора можно добавить и удалить аннотацию или изменить порядок следования описания отдельных элементов.
Рисунок 6. Результат выполнения захвата объекта
Настройка значений Help ID
Для того, чтобы впоследствии можно было выполнить привязку тем справки к отдельным элементам .NET-приложения, необходимо настроить значения Help IDдля всех необходимых разделов. Для этого в структуре проекта выберите нужную тему и нажмите на ячейку «Help ID» в окне свойств страницы (Рисунок 7). При необходимости измените значение, для сохранения изменений просто уберите фокус с поля.
Рисунок 7. Изменение значения Help ID в окне «Свойства страницы»
Для проверки уникальности идентификаторов разделов используйте пункт «Инструменты –> Проверка проекта на ошибки» главного меню. Если в документе будут обнаружены повторяющиеся значения Help ID, в открывшемся окне появится сообщение с указанием повторяющихся значений. Устраните дублирования для правильной работы вызова разделов справки.
Предварительный просмотр и сохранение проекта
Перед экспортом проекта используйте функцию предварительного просмотра — кнопка «Просмотр CHM», чтобы убедиться в корректном отображении всех разделов справки. Если необходимо внести изменения, вернитесь в режим редактирования.
Для сохранения проекта выберите пункт «Файл -> Сохранить как» главного меню, введите имя файла и укажите путь его размещения в открывшемся окне сохранения.
Экспорт проекта в CHM-файл
После окончания работы над проектом экспортируйте его в СHM файл. Для этого используйте пункт «Настройки -> Экспорт в CHM» главного меню. Установите метку «Запустить проверку проекта перед экспортом» дляанализа корректности проекта до начала экспорта. Для открытия файла по окончании экспорта, установите флаг «Открыть CHM файл».
Чтобы перезаписать ранее сохраненный файл без запроса подтверждения отметьте поле «Перезаписать молча». Нажмите кнопку «Начать экспорт», после чегов окне «Экспорт в CHM» (Рисунок 8) будет отображаться отчет о ходе процесса. Закройте окно после окончания экспорта.
Рисунок 8. Окно «Экспорт в CHM»
Интеграция CHM-файла в .NET-приложение
Создайте в форме .NET-приложения элемент вызова файла справки, например, кнопку. Для этого выполните следующие действия:
- откройте проект с помощью средств среды разработки, которую вы используете;
- в редакторе форм (Рисунок 9) выберите «Button» из панели элементов;
- поместите элемент в форму;
- в свойствах элемента задайте название и подпись кнопки, например, например, «HlpButton» и «Help». Параметры вводятся в поля «Name» и «Text» соответственно;
Рисунок 9. Редактор форм среды разработки Microsoft Visual Studio
- в редакторе кода (Рисунок 10) в строке «private void HlpButton _Click(object sender, EventArgs e)» отображается имя элемента вызова файла справки (в данном случае «Help Button»). Введите ниже строку – «Help.ShowHelp(this, «Help.chm»);», где Help.chm — имя файла справки в формате CHM. Код элемента управления в целом должен иметь вид:
private void HlpButton_Click(object sender, EventArgs e)
Рисунок 10. Редактор кода среды разработки Microsoft Visual Studio
- убедитесь в правильной работе кнопки вызова файла справки. Запустите отладку — пункт «Debug -> Start debugging» главного меню, после чего произойдет запуск приложения. Нажмите кнопку «Help» созданный ранее файл справки в формате CHM должен открыться в отдельном окне;
- повторите описанную процедуру для всех форм, в которых необходимо вставить элемент вызова справки.
ОБРАТИТЕ ВНИМАНИЕ: Для правильной работы кнопки вызова справки располагайте CHM файл и исполняемый файл .NET-приложения в одной папке. Если необходимо иное размещение файлов, используйте для кнопки вызова справки следующий код:
При таком способе вызова файла справки при любых его перемещениях необходимо заново указывать в коде полный путь.
Будьте внимательны, для обеспечения правильной работы элемента вызова файла справки строго соблюдайте синтаксис, приведенный в примерах.
Привязка тем файла справки CHM к объектам .NET-приложения
Альтернативный вариант вывода справки, заключается в вызове определенных разделов справки, которые соответствуют отдельным элементам .NET- приложения. Такой способ можно использовать самостоятельно, либо совместно с описанным выше методом. При нажатии клавиши «F1» выводится тот раздел фала справки, который соответствует элементу приложения, находящемуся в фокусе в момент нажатия. Для реализации такого метода выполните следующие действия:
- добавьте компонент «Help Provider» путем егоперемещения в форму приложения из панели элементов. Значок компонента появится в нижней части окна редактора форм;
ОБРАТИТЕ ВНИМАНИЕ: Допускается использование нескольких компонентов «Help Provider». Это удобно в том случае, когда информация о различных элементах содержится в различных файлах справки. Также вы можете использовать отдельные компоненты для различных форм;
- в окне свойств элемента «Help Provider» укажите расположение файла справки — поле «HelpNamespace»
ОБРАТИТЕ ВНИМАНИЕ: Если файл справки располагается в одной папке с исполнительным файлом приложения, то достаточно указать только имя файла. При раздельного размещении файлов необходимо указать полный путь. В таком случае при любом перемещении файла справки, значение параметра «HelpNamespace» должно быть заменено актуальным.
- в окне свойств объекта внесите значение Help ID соответствующего объекту раздела справки в поле «HelpKeyword on Help Provider1». Выберите значение «TopicId» для поля «Help Navigator on Help Provider1»
ОБРАТИТЕ ВНИМАНИЕ: Количество параметров «HelpKeyword …» и «Help Provider…» в свойствах объектов соответствует количеству используемых компонентов «Help Provider», а цифра в наименовании параметра соответствует номеру компонента. Будьте внимательны при заполнении данных полей;
- убедитесь в правильной работе компонента «Help Provider». Запустите отладку — пункт «Debug -> Start debugging» главного меню, после чего на экране появится стартовая форма приложения. При нажатии клавиши «F1» должен открыться тот раздел файла справки, который соответствует элементу, находящемуся в фокусе;
- повторите описанную процедуру для всех объектов, которые необходимо ассоциировать с определенными разделами файла справки.
Открытие определенных разделов файла справки с помощью компонента Help Provider
Помимо вызова определенных разделов файла справки по соответствующим им HelpID, компонент «HelpProvider» также может быть использован для адресации разделов с использованием других параметров. Для настройки вызова определенных разделов необходимо установить соответствующие значения полей «HelpKeyword on Help Provider1» и «Help Navigator on Help Provider1» в свойствах элементов. Для настройки вывода определенных разделов файла справки при нажатии клавиши «F1» проделайте следующие действия:
- добавьте компонент «Help Provider», перетащите его из панели элементоввформу. Компонент отобразится в нижней части окна редактора форм;
- укажите расположение файла справки — поле «HelpNamespace» в окне свойств объекта «Help Provider»;
- в окне свойств элемента, в поле «HelpNavigator on Help Provider1» выберите интересующий параметр:
·AssociateIndex— открывает вкладку «Указатель» иподсвечивает в списке первое по порядку ключевое слово, название которого начинается с сочетания символов в поле «HelpKeyword on Help Provider1»;
·Index — открывает вкладку «Указатель» и подсвечивает в спискеключевое слово, указанное в поле «HelpKeyword on Help Provider1»;
·Find — открывает вкладку «Поиск»;
·TableOfContents — открывает оглавление;
·Topic — открывает раздел, название которого указано в поле «HelpKeyword on Help Provider1».
ОБРАТИТЕ ВНИМАНИЕ: Название раздела указывается в формате «Topic.htm», это необходимо для правильной работы вызова справки.
·TopicId — открываетраздел,которому соответствует параметр Help ID, указанный в поле «HelpKeyword on Help Provider1»;
·KeywordIndex — открывает вкладку «Указатель» и выводит список разделов, содержащих ключевое слово, указанное в поле «HelpKeyword on Help Provider1».
Такой способ вызова справки позволяет гибко настроить адресацию и поиск в справочной системе, а также использовать для каждой отдельной формы или элемента соответствующий им файл справки или отдельные его разделы.
Если необходимо вызвать определенный раздел справочной системы с помощью кнопки, используйте следующие фрагменты кода:
Код вызова стартовой страницы справки:
namespace WindowsFormsApplication1 < public partial class Form1 : Form < private const string helpfile = «help.chm»; public Form1() < InitializeComponent(); >private void Form1_Load(object sender, EventArgs e) < >private void HlpButton_Click(object sender, EventArgs e) < Help.ShowHelp(this, helpfile); >> >
где help.chm — имя файла справки (файл справки должен быть размещен в одной папке с исполнительным файлом приложения).
Код вызова вкладки «Указатель»:
namespace WindowsFormsApplication1 < public partial class Form1 : Form < private const string helpfile = «help.chm»; public Form1() < InitializeComponent(); >private void Form1_Load(object sender, EventArgs e) < >private void HlpButton_Click(object sender, EventArgs e) < Help.ShowHelpIndex(this, helpfile); >> >
Код вызова оглавления:
namespace WindowsFormsApplication1 < public partial class Form1 : Form < private const string helpfile = «help.chm»; public Form1() < InitializeComponent(); >private void Form1_Load(object sender, EventArgs e) < >private void HlpButton_Click(object sender, EventArgs e) < HelpNavigator navigator = HelpNavigator.TableOfContents; Help.ShowHelp(this, helpfile, navigator); >> >
Код вызова вкладки «Поиск»:
namespace WindowsFormsApplication1 < public partial class Form1 : Form < private const string helpfile = «help.chm»; private const string findtext = «»; public Form1() < InitializeComponent(); >private void Form1_Load(object sender, EventArgs e) < >private void HlpButton_Click(object sender, EventArgs e) < HelpNavigator navigator = HelpNavigator.Find; Help.ShowHelp(this, helpfile, navigator, findtext); >> >
Код вызова поиска по первым буквам ключевого слова:
namespace WindowsFormsApplication1 < public partial class Form1 : Form < private const string helpfile = «help.chm»; private const string AsInd = «me»; public Form1() < InitializeComponent(); >private void Form1_Load(object sender, EventArgs e) < >private void HlpButton_Click(object sender, EventArgs e) < HelpNavigator navigator = HelpNavigator.AssociateIndex; Help.ShowHelp(this, helpfile, navigator, AsInd); >> >
где me — сочетание букв для поиска
Код вызова поиска по ключевому слову:
namespace WindowsFormsApplication1 < public partial class Form1 : Form < private const string helpfile = «help.chm»; private const string Index = «FAQ»; public Form1() < InitializeComponent(); >private void Form1_Load(object sender, EventArgs e) < >private void HlpButton_Click(object sender, EventArgs e) < HelpNavigator navigator = HelpNavigator.Index; Help.ShowHelp(this, helpfile, navigator, Index); >> >
где FAQ — ключевое слово
Код вызова раздела по его названию:
namespace WindowsFormsApplication1 < public partial class Form1 : Form < private const string helpfile = «help.chm»; private const string Topic = «Overview.htm»; public Form1() < InitializeComponent(); >private void Form1_Load(object sender, EventArgs e) < >private void HlpButton_Click(object sender, EventArgs e) < HelpNavigator navigator = HelpNavigator.Topic; Help.ShowHelp(this, helpfile, navigator, Topic); >> >
где Overview.htm — название раздела (ключевое слово всегда указывается в формате Topic.htm)
Код вызова раздела по его HelpID:
namespace WindowsFormsApplication1 < public partial class Form1 : Form < private const string helpfile = «help.chm»; private const string TopicId = «1500»; public Form1() < InitializeComponent(); >private void Form1_Load(object sender, EventArgs e) < >private void HlpButton_Click(object sender, EventArgs e) < HelpNavigator navigator = HelpNavigator.TopicId; Help.ShowHelp(this, helpfile, navigator, TopicId); >> >
где 1500 — значение HelpID интересующего раздела
Код вызова списка разделов, содержащих ключевое слово:
namespace WindowsFormsApplication1 < public partial class Form1 : Form < private const string helpfile = «help.chm»; private const string KeywInd = «menu»; public Form1() < InitializeComponent(); >private void Form1_Load(object sender, EventArgs e) < >private void HlpButton_Click(object sender, EventArgs e) < HelpNavigator navigator = HelpNavigator.KeywordIndex; Help.ShowHelp(this, helpfile, navigator, KeywInd); >> >
где menu — ключевое слово для поиска разделов.
Смотрите также
- Разработка пользовательской документации для включения программного продукта в Реестр отечественных программ Минцифра России
- Создание help-файла (справки) в формате CHM для Visual Basic (VB.NET)-приложения для Windows при помощи Dr.Explain
- 10 эвристик для оценки удобства использования (юзабилити) вашей документации
Источник: www.drexplain.ru
Как создать CHM файл (HTM2CHM и HTML Help Workshop в действии)
CHM — это расширение файла в формате Compressed HTML Help. Формат был разработан Microsoft для гипертекстовых справочных систем. Для просмотра CHM файлов достаточно наличия в системе Internet Explorer. У CHM файлов, как правило, есть Содержание — отдельная панель со списком статей для упрощения навигации.
В наличии содержания, пожалуй и заключается главное отличие CHM файлов от использовавшихся ранее HLP файлов справки Windows. Несколько человек интересовались процессом создания моего учебника по автоматической установке Windows в формате CHM, а в двух словах это не описать.
Изложенное ниже руководство применимо к созданию любого CHM файла, обладающего древовидной структурой отображения страниц в содержании, индексом, полнотекстовым поиском с поддержкой логических операторов и возможностью добавления страниц в избранное. Рассказ отражает мой личный опыт, и не исключено, что есть более простой путь (особенно при использовании специализированных и недешевых программных продуктов). Предполагается, что все HTML страницы, которые вы хотите включить в CHM уже подготовлены: в них работают все внутренние ссылки и отображаются картинки и прочие объекты. Речь в рассказе пойдет в основном о создании и компиляции CHM файла.
Давид и Голиаф (HTM2CHM и HTML Help Workshop)
Для создания оффлайн версии сайта использовались две бесплатные программы: Microsoft HTML Help Workshop и HTM2CHM (если заголовок параграфа вызвал у вас недоумение, то смотрите примечание 🙂 . По ходу рассказа я объясню, почему не удалось обойтись лишь одной из них.
HTM2CHM — маленькая программа, написанная Ярославом Кирилловым. Программа обладает русским интерфейсом и интуитивно понятна. Если вы не планируете снабжать свой CHM файл полнотекстовым поиском и индексом, a расширенные настройки внешнего вида CHM файла вам не нужны, то наверное не стоит городить огород с HTML Help Workshop. Создать файл Содержания и выстроить страницы в желаемом порядке, назначив им различные иконки можно и в HTM2CHM. Мне же возможностей этой программы не хватило — я посчитал, что для почти сотни страниц учебника нужен полнотекстовый поиск, а также не помешает индекс. |
Поэтому пришлось задействовать HTML Help Workshop — творение программистов Microsoft. В отличии от HTM2CHM, программа не очень интуитивно понятна и русского интерфейса у нее тоже нет. Зато функционально она меня устроила всем, кроме того что не сумела корректно сформировать файл содержания из кириллических заголовков страниц. В заключение этого мини-сравнения хочу сказать, что у HTML Help Workshop получился намного более компактный учебник (у HTM2CHM размер выходного файла оказался в 1.5 раза больше). Итак, перейдем к делу. Я изложу тонкости создания CHM в файла том порядке, в котором я создавал свой учебник. Рассказ о HTML Help Workshop будет длинным, но лишь потому, что первый раз требуется указать много настроек проекта (в дальнейшем изменить уже имеющийся проект намного проще). |
Давид (HTM2CHM)
Работа с программой не должна вызвать затруднений даже у чайников — настолько все понятно и просто. Я рассмотрю создание содержания и компиляцию CHM файла.
Создание содержания
Компиляция
После того как файл содержания готов, можно переходить к компиляции CHM файла. В главном окне программы жмем большую кнопку Создать. И заполняем все поля, не забывая про только что созданный файл содержания. Через несколько секунд у вас будет готовый CHM файл. К сожалению, HTM2CHM не обладает возможностью создания полнотекстового поиска (или я не нашел такой опции), так что покончив с Содержанием, я продолжил работу над CHM файлом в HTML Help Workshop, в котором мне также открылись и другие возможности.
Голиаф (HTML Help Workshop)
За неказистым (и иногда не очень удобным) интерфейсом HTML Help Workshop скрывается очень мощный инструмент создания CHM файлов. Насколько мне известно, у программы нет русского лица (однако, русификаторы существуют), да и английский интерфейс не слишком информативен — иконки не имеют подписей и пока их не «выучишь», приходится наводить курсор мыши для получения всплывающей подсказки. Однако, функционально HTML Help Workshop превосходит HTM2CHM. Я опишу лишь те функции программы, которые использовал сам. Вообще, HTML Help Workshop снабжен достаточно подробной справкой (EN).
Создание нового проекта
Первое что нужно сделать — это создать новый проект (File | New).
Выбираем Project и нам открывается мастер создания проекта. |
На первом этапе предлагается конвертировать существующий WinHelp проект. Поскольку мы ничего не конвертируем, то флажок ставить не надо. |
Указываем имя файла проекта (*.HHP) и папку, в которой он будет сохранен. |
На этом этапе можно указать HTML файлы, которые мы включаем в проект, а также файл содержания и индекса (HHK). Я указываю только HTML файлы, а TOC файл, созданный в HTM2CHM, добавляю потом. |
Добавляем HTML файлы. И на этом работа мастера завершается. |
По завершении работы мастера левая часть рабочего окна HTML Help Workshop выглядит примерно так.
Настройка внешнего вида
- Window with navigation pane, topic pane, and button — обязательно ставим флажок, чтобы навигационная панель отображалсь в скомпилированном CHM файле. Поставив флажок, мы видим остальные опции.
- Тabs — закладки навигационной панели
- Default Tab — активная закладка по умолчанию (при открытии файла)
- Search Tab и Advanced — закладка поиска и возможность расширенного поиска с использованием логических операторов
- Favorites tab — закладка Избранное
Закладка Buttons контролирует какие кнопки будут доступны на верхней панели скомпилированного файла. Выбор оставляю на ваше усмотрение.
Закладка Position позволяет задать размер окна и его расположение на экране. Рекомендую дать пользователю возможность автоматически запомнить размер и позицию после первого запуска CHM файла (Save user defined window position after first use). Можете также поиграть с кнопкой Autosizer.
На закладке Files указываем ряд важных файлов:
- Window — фокус по умолчанию при запуске (я выбираю Навигационную панель)
- TOC — файл содержания. Здесь я указываю файл, который ранее создал в HTM2CHM (путь нужно указывать, если только TOC не в одной папке с файлом проекта)
- Index — индексный файл (если вам нужен индекс — впишите туда index.hhk; о создании индекса я расскажу ниже)
- Default — страница, отображаемая при открытии CHM файла
- Home — домашняя страница (кнопка Home на панели)
Остальные закладки диалогового окна Window Types изучите самостоятельно.
Свойства проекта
Чтобы попасть в свойства проекта, делаем двойной щелчок на слове [Options] (в левой верхней части главного окна программы под закладкой Project) и идем по закладкам по порядку. Может я не уловил логики программы, но мне показалось, что часть настроек дублируются. Т.е. ниже вы увидите некоторые настройки, которые мы уже установили, ковыряясь во внешнем виде.
На закладке General нас интересуют:
- Title — название CHM файла (отображается в заголовке окна скомпилированного файла)
- Default File — страница (статья), которая отображается при открытии CHM файла
- Default Window — я выбираю Navigation Pane (навигационная панель с закладками в левой части CHM файла)
- Language — Russian (обязательно, если в Содержании кириллица)
На закладке Files мы указываем следующие параметры:
- Compiled File — имя и расположение скомпилированного файла
- Contents File — вот тут я и указываю TOC файл, созданный в HTM2CHM
- Index file — (если вам нужен индекс — впишите туда index.hhk; о создании индекса я расскажу ниже)
- Include keywords from HTML file — эта опция предполагает наличие заранее сформированных ключевых слов в HTML файлах для создания индекса. См. ниже.
- Full text search stop file — текстовый файл с расширением STP, содержащий слова, которые вы хотите исключить из полнотекстового поиска. См. ниже.
Едем дальше — закладка Compiler. Здесь мы отмечаем лишь Compile full-text search information (если, конечно, нужен полнотекстовый поиск).
На этом начальную настройку проекта можно считать завершенной. Теперь можно уже переходить к компиляции. Если вас интересует создание индекса и исключение слов из поиска, то читайте дальше.
Создание индекса
Где-то в тексте справки к HTML Help Workshop мне встретилась фраза, что пользователи чаще обращаются к индексу, чем к поиску. Не знаю насколько это верно, но мне вообще хотелось иметь индекс, чтобы было все профессионально 🙂 Добавить ключевые слова для индекса в каждую страницу можно через интерфейс HTML Help Workshop или вручную в каждую страницу. Я изложу оба способа.
Добавление ключевых слов через интерфейс Workshop
Через интерфейс программы ключевые слова добавляются на закладке Index. Я обойдусь без скриншотов, так как там трудно промахнуться (окна будут фактически аналогичны тем, что приведены в рассказе о редактировании проекта). Нажимаем на вторую сверху иконку с изображением ключа и получаем окно в котором нужно ввести ключевое слово и кнопкой Add выбрать страницу, к которой слово будет относиться. Одно ключевое слово может относиться к нескольким страницам — просто добавляйте их все в том же окне. В итоге индекс будет сохранен в файл index.hhk, который несмотря на расширение является текстовым файлом, содержащим гипертекстовую разметку (HTML).
Я, однако, избрал другой способ, и теперь уже точно не помню почему. Если память мне не изменяет, кириллические ключевые слова, добавленные через GUI, впоследствии некорректно отображались в CHM файле. Так что прежде чем наполнять индекс тысячами слов проверьте как у него дела с кириллицей 🙂
Внесение ключевых слов в HTML код
В код HTML страницы после тега BODY вносится следующий текст (приводится скриншот, т.к. данный HTML код вырезается скриптом сайта):
Непроизносимый набором символов лучше скопировать 🙂 Вообще, это одна строка, просто на скриншоте сделан перевод строки.
object type=»application/x-oleobject» classid=»clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e»
Очевидно, что можно указать несколько ключевых слов — они все будут указывать на статью, в текст которой они были внесены. В итоге я методом Searchhttp://www.oszone.net/3789″ target=»_blank»]www.oszone.net[/mask_link]