Хлебные крошки



02.07. Создание файлов CHM. Microsoft HTML Help 4.71

Создание нового проекта

Бесплатная программа от корпорации Microsoft для профессионального создания файлов в формате CHM на основе файлов в формате HTML и производных от него. Скачать программу можно по адресу http://www.microsoft.com.

Для создания нового проекта выполните команду File → New (Файл Новый) или нажмите на кнопку New (Новый) (). В открывшемся окне New (Новый) (Рис. 110) выберите строку Project (Проект) и нажмите на кнопку ОК. После этого запускается Мастер создания проекта.

Создание нового проекта 

Рис. 110. Создание нового проекта

На первом шаге Мастера предлагается конвертировать существующий WinHelp проект. Так как у нас пока нет никакого проекта, то флажок не устанавливайте флажок в опцию Convert WinHelp project (Конвертировать проект WinHelp). Нажмите на кнопку Далее.

На втором шаге Мастера (Destination (Место назначения)) необходимо указать папку, в которую будет выполняться сохранение проекта и имя этого проекта (Рис. 111). Нажмите на кнопку Browse (Обзор). В открывшемся окне Открыть выберите папку для сохранения. В поле Имя файла укажите имя проекта. Проект сохраняется в файле с расширением HHP. Нажмите на кнопку Открыть. После возвращения в шаг Мастера Destination (Место назначения) нажмите на кнопку Далее.

Выбор папки и имени проекта 

Рис. 111. Выбор папки и имени проекта

В третьем шаге Мастера (Existing Files (Имеющиеся файлы)) (Рис. 112) выбираются исходные файлы для создания файла CHM. У нас имеются только файлы HTML, а вот файла оглавления или файла индекса у нас пока нет. Их можно создать потом. Поэтому флажком помечаем только опцию HTML files (Файлы HTML). Если пометить флажками опции HTML Help table of contents (Файл оглавления) и HTML Help index (Файл индекса), то в следующих 2-х шагах необходимо будет указать эти файлы, а их пока нет. Если не пометить эти 2 опции, то и следующих шагов не будет. Нажмите на кнопку Далее.

Выбор исходных файлов 

Рис. 112. Выбор исходных файлов

В следующем шаге Мастера (HTML Files (Файлы HTML)) (Рис. 113) определяются исходные файлы HTML. Нажмите на кнопку Add (Добавить). В открывшемся окне Открыть выделите исходные файлы HTML: смежные файлы с нажатой клавишей Shift, несмежные — с нажатой клавишей Ctrl. Выбрать все файлы можно также комбинацией клавиш Ctrl + A. Нажмите на кнопку Открыть. Если некоторые файлы HTML были добавлены случайно, то выделите их в списке и нажмите на кнопку Remove (Очистить). Нажмите на кнопку Далее.

Выбор файлов HTML 

Рис. 113. Выбор файлов HTML

Следующий шаг Мастера (Finish (Конец)) является завершающим. Нажмите на кнопку Готово. После этого Мастер закрывается, а программа возвращается в главное рабочее окно (Рис. 114). Так как в ходе работы мы использовали только файлы HTML, то нам осталось создать файл оглавления и файл индекса.

Список исходных файлов HTML 

Рис. 114. Список исходных файлов HTML

Создание оглавления книги CHM

Для создания оглавления перейдите на вкладку Contents (Оглавления). Сразу же после открывается окно, в котором пользователь запрашивается, как он хочет включить оглавление в проект:

  • Create a new contents file (Создать новый файл содержания) — создается пустой файл содержания, который еще только предстоит наполнить содержанием;
  • Open an existing contents file (Открыть существующий файл содержания) — файл содержания будет предлагаться из списка существующих файлов. Файл содержания (или оглавления) можно создать точно так же, как и новый файл проекта командой FileNew (Файл Новый), только выбрать не Project (Проект), а Table of Contents (Оглавление).

Выберите значение Create a new contents file (Создать новый файл содержания). После этого предлагается имя файла оглавления по умолчанию (Table of Contents.hhc) и папка, в которой нужно сохранить создаваемый файл оглавления. Определите папку и нажмите на кнопку Сохранить. Если файл с таким именем существует, то выводится запрос о необходимости замены существующего файла (пока у нас такого файла нет, но в будущем такой запрос может появиться). После этого появляется пустое оглавление (Рис. 115). Создание оглавления мы будем описывать очень подробно, так как малейшая ошибка может привести к неработоспособности оглавления — малейшая непоследовательность операций вставки элемента и привязки его к конкретному файлу HTML недопустима.

Пустое оглавление 

Рис. 115. Пустое оглавление

Прежде всего, вспомним аналогичные программы по созданию файла CHM на основе файлов HTML, например, программу HTM2CHM 3.0.9.3, которую мы рассматривали в этой же книге: там оглавление собиралось одним движением руки, то есть автоматически. В программе Microsoft HTML Help 4.71 оглавление создается вручную (хотя понимает оглавление, созданное в HTM2CHM 3.0.9.3). Казалось бы, зачем что-либо делать вручную, когда это же можно сделать автоматически? На самом деле оглавление в HTM2CHM 3.0.9.3 имеет линейную структуру, а оглавление, созданное в Microsoft HTML Help 4.71, имеет древовидную структуру, используемую в сложных справочных системах, то есть с главами, подглавами, разделами и т. д. Поэтому нам сначала необходимо разобраться с терминологией:

Заголовок — содержит страницы и заголовки уровнем ниже. Заголовок можно свернуть или развернуть точно так же, как обычную папку. Заголовок можно не связывать ни с одной страницей HTML;

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

Для вставки заголовка предлагается кнопка Insert a heading (Вставить заголовок) (). Для вставки страниц предлагается кнопка Insert a page (Вставить страницу) (). Для вставки первого заголовка или страницы ничего не выделять не нужно, так как и выделять то просто нечего. Для всех остальных элементов оглавления нужно предварительно выделить тот элемент, на уровне которого нужно создать новый элемент. Например, мы уже говорили, что страницы обычно создаются в заголовке. Значит нужно выделить заголовок, в котором нужно создать страницы. Если в заголовке нужно создать другой заголовок на 1 уровень ниже, то и здесь также нужно выделить заголовок предыдущего уровня. Если пользователь поместил страницы не в тот заголовок, или уровень заголовка определен неправильно, то ошибки такого рода легко можно исправить: выше мы говорили лишь о недопустимости ошибки при связывании файла HTML с элементом оглавления.

Вставьте один заголовок и одну страницу. Заголовок не связывайте ни с одним файлом HTML, а страницу мы свяжем с одним из файлов HTML. Напоминаем, нарушение последовательности действий при связывании, недопустима. После нажатия как на кнопку Insert a heading (Вставить заголовок) (), так и на кнопку Insert a page (Вставить страницу) () открывается окно Table of Contents Entry (Таблица элементов оглавления) (Рис. 116) на вкладке General (Основные). В поле Entry title (Заголовок элемента) введите текст, который должен быть в оглавлении в данном элементе. Использовать можно как кириллицу, так и латиницу — это просто текст и ничего больше.

Определение названия элемента оглавления 

Рис. 116. Определение названия элемента оглавления

Нажмите на кнопку Add (Добавить) (не путать с Add/Edit). После этого открывается окно Path or file (Путь к файлу) (Рис. 117). В списке Project file (Файл проекта) предлагается имя файла проекта, который был создан с помощью Мастера. Если файл проекта не предлагается, то откройте список и выберите его вручную, если он был создан ранее. Программа помнит все проекты, даже удаленные, созданные с помощью данной программы. После этого в линейный список HTML titles (Названия HTML) выводятся заголовки всех файлов HTML. Заголовки считываются программой из тегов < TITLE > в файлах HTML. Выделите тот заголовок в файле HTML, который нужно связать с создаваемым элементом оглавления. Имя выделенного файла и путь к нему выводится в поле File or URL (Файл или адрес). Нажмите на кнопку ОК.

Выбор файл HTML для элемента оглавления 

Рис. 117. Выбор файл HTML для элемента оглавления

Для заголовка можно не указывать связываемый файл HTML, а для страницы связывание обязательно. Если для страницы кнопка Add (Добавить) в окне Table of Contents Entry (Таблица элементов оглавления) (Рис.  116) не нажималась, то есть связь с файлом HTML не была установлена, но пользователь ошибочно или случайно пытается нажать на кнопку ОК, то выводится сообщение об ошибке и возврат в конструктор оглавления игнорируется.

После этого программа возвращается в окно Table of Contents Entry (Таблица элементов оглавления) (Рис. 116) на вкладку General (Основные). В линейном списке Files/URLs and their information types (Файлы/Адреса и их информационные типы) будет находиться тот файл HTML, который был только что выбран. Нажмите на кнопку ОК.

При создании каждого элемента оглавления, кроме первого, программа требует подтверждения продолжения создания очередного элемента оглавления.

Если элемент оглавления был вставлен ошибочно, то его можно удалить. Для этого выделите этот элемент и нажмите на кнопку Delete selection (Удалить выделенное) (). Запрос на подтверждение удаления не выводится.

Если в элементе оглавления была допущена ошибка: грамматическая или был указан не тот файл HTML и т. д., то ошибку можно исправить. Выделите такую запись и нажмите на кнопку Edit selection (Редактировать выделенное) ().

Каждый очередной элемент оглавления встает выше всех созданных ранее элементов оглавления, то есть первой строкой. Для перемещения элемента оглавления вверх или вниз необходимо выделить элемент оглавления и использовать кнопки Move selection up (Переместить выделенное вверх) () и Move selection down (Переместить выделенное вниз) ().

Для изменения уровня вхождения элемента оглавления в дереве оглавления используются кнопки Move selection right (Переместить выделенное вправо) () и Move selection left (Переместить выделенное влево) (). Пример создания древовидного оглавления см. рисунок (Рис. 118).

Готовое древовидное оглавление 

Рис. 118. Готовое древовидное оглавление

Кнопка View HTML source (Показать источник HTML) () открывает текст выбранной в оглавлении веб-страницы. Пользователь может посмотреть, тот ли файл он выбрал и даже внести в него изменения. При попытке закрытия такого файла выводится предложение сохранить изменения. Открыть файл источника можно также двойным щелчком по элементу оглавления. Для сохранения всего оглавления нажмите на кнопку Save file (Сохранить файл) ().

После создания файла оглавления можно приступать к изменению иконок страниц или заголовков. По умолчанию предлагаются значки () и (). Для изменения иконок выделите элемент оглавления и войдите в режим редактирования (нажмите на кнопку Edit selection (Редактировать выделенное) ()). В открывшемся окне Table of Contents Entry (Таблица элементов оглавления) перейдите на вкладку Advanced (Дополнительно). Справа от счетчика находится иконка выбранного элемента оглавления. Изменяя индекс иконки можно выбрать другой значок. Нажмите на кнопку ОК. На рисунке (Рис. 118) мы показали, что значок можно менять у каждого элемента оглавления независимо от значков в других записях.

Завершающей операцией является возможность изменения свойств оглавления, например, параметров шрифта. Свойства изменяются для всего оглавления, а не для отдельных его элементов. Для изменения свойств оглавления нажмите на кнопку Contents properties (Свойства оглавления) (). В открывшемся окне Table of Contents Properties (Свойства таблицы оглавления) на вкладке General (Общие) нажмите на кнопку Change (Изменить), определите гарнитуру (Font), размер (Point Size), кодировку (Character set). Если текст не читается, то выберите русскую кодировку.

Создание файла индекса

Аналогично создается файл индекса, только вместо строк оглавления создаются ключевые слова. Нажмите на кнопку с ключиком. Окно внешне похоже на окно Table of Contents Entry (Таблица элементов оглавления) (Рис. 116). В поле Keyword (Ключевое слово) введите ключевое слово, нажмите на кнопку Add (Добавить) и укажите веб-страницу, к которой это слово относится. Одно и то же ключевое слово может связываться с разными веб-страницами, то есть файлами в формате HTML. Ключевые слова перечисляются на вкладке Указатель книги CHM (Рис. 119). При вводе символов искомого слова программа автоматически перемещает список слов, в которых имеются введенные символы. Чем больше введено символов, тем точнее организуется поиск — остается небольшой набор слов, среди которых можно найти искомое слово (а можно и не найти, если такого слова нет в списке ключевых). Обратите внимание — на рисунке (Рис. 119) некоторые слова сдвинуты вправо — они все входят в одну группу, начинающихся с одинакового слова, одинаковой фразы или дополнением одного и того же термина.

Ключевые слова 

Рис. 119. Ключевые слова

Создание файла STP

Кроме описанных файлов можно создать файл, в котором исключаются определенные слова из полнотекстового поиска. Такой файл создается в формате STP. Такой файл можно создать как в обычном Блокноте, так и непосредственно в программе Microsoft HTML Help 4.71. Для этого выполните команду File New (Файл → Новый). В окне New (Новый) выберите значение Text (Текст). На каждой строке создается одно исключаемое слово. После этого выполните команду File  Save File As (Файл → Сохранить файл как). В открывшемся окне Save As (Сохранить как) откройте список Тип файла и выберите значение All Files (*.*) (Все файлы). В поле Имя файла укажите имя файла с расширением STP. Например:

Word_My.STP

Нажмите на кнопку Сохранить.

Определение параметров создания файла

После того, как все исходные файлы созданы можно приступать к определению параметров создания файла в формате CHM. Перейдите на вкладку Project (Проект). Нажмите на кнопку Add/Modify window definition (Добавить/Изменить определение окна) (). После этого открывается окно Create a window type named (Создать именованный тип окна). Введите имя панели:

Navigation Pane

Нажмите на кнопку ОК. После этого открывается окно Window Types (Тип окна) на вкладке General (Общие), где уже находится имя нашей панели. В поле Title bar text (Заголовок системной полосы) введите название создаваемой книги. Системная полоса — самая верхняя полоса в окне, на которую выводится название документа. Здесь же можно указать и автора книги.

На вкладке Navigation Pane (Панель навигации) (Рис. 120) определяются параметры созданной панели навигации.

 Вкладка Navigation Pane

Рис. 120. Вкладка Navigation Pane

Опция Window with navigation pane, topic pane, and button (Окно с панелью навигации, панелью темы и кнопки) предписывает показывать эту панель. Если флажок сброшен, то панель при открытии книги будет не видна. В счетчике Navigation pane width (Ширина панели навигации) можно определить ширину панели навигации. Если ширина не определена, то она будет определяться автоматически по размерам размещенных на этой панели элементов управления.

Из оставшихся элементов наиболее важны следующие:

В списке Default tab (вкладка по умолчанию) выбирается та вкладка, которая будет открыта при загрузке книги. Обычно открыта вкладка с оглавлением (Contents).

Опция Search (Поиск) предписывает создавать вкладку Поиск в готовой книге. Опция Advanced (Дополнительно) предоставляет возможность организации расширенного поиска с использованием специальных операторов.

Примечание: при изменении большинства параметров и попытке закрытия окна параметров запускается Мастер сохранения изменений — согласитесь со всеми запросами Мастера и сохранения будут сохранены.

На вкладках Styles (Стили) и Extended Styles (Расширенные стили) определяется необходимость использования системных кнопок и системного меню, контекстного меню, линеек прокрутки и т. д.

На вкладке Buttons (Кнопки) (Рис. 121) определяются кнопки, которые будут находиться на панели навигации при загрузке книги. Установите флажки в нужные кнопки.

 Вкладка Buttons

Рис. 121. Вкладка Buttons

На вкладке Position (Позиция) (Рис. 122) определяются размеры окна с электронной книгой и координату верхнего левого угла этого окна.

 Вкладка Position

Рис. 122. Вкладка Position

Опция Save user defined window position after first use (Сохранить позицию окна после первого запуска) предписывает запомнить координату верхнего левого угла окна с книгой CHM, который определил пользователь после первого запуска книги. Создатель книги может вручную указать эту координату, задав конкретные значения в полях Left (Слева) и Top (Сверху). В полях Width (Ширина) и Height (Высота) можно указать размеры окна с книгой. Кнопка Default Positions (Позиция по умолчанию) устанавливает позицию и размеры окна, определенные разработчиками данной программы. Кнопка Autosizer (Авторазмер) открывает окно, в котором нужно нажать на кнопку ОК. После этого программа рассчитывает размеры и позицию окна по специальным алгоритмам.

На вкладке Files (Файлы) (Рис. 123) определяются файлы, на основании которых создается файл CHM: оглавление (TOC), индекс, домашняя страница и страница, открываемая при загрузке книги CHM. Как правило, страница загружаемая и страница домашняя являются одним и тем же. Домашняя страница — та, которая загружается при нажатии на кнопку Домой (). Если какой-либо файл не нужен, то не заполняйте его — выбор их всего лишь желателен, но не обязателен.

 Вкладка Files

Рис. 123. Вкладка Files

Нажмите на кнопку ОК. Если были изменения, то согласитесь со всеми запросами Мастера.

Изменение свойств проекта

В программе предлагается другой способ определения параметров создаваемого файла CHM. Для этого в окне проекта (вкладка Project) нажмите на кнопку Change project options (Выбрать опции проекта) (). После этого открывается окно Options (Опции) на вкладке General (Общие) (Рис. 124). Мы специально описываем параметры этого окна, так как некоторые параметры выполняются совсем не так, как это можно ожидать.

 Вкладка General

Рис. 124. Вкладка General

Прежде всего, это поле Title (Заголовок), в котором указывается название книги и/или имя автора этой книги. При изучении окна Window Types (Типы окна) на вкладке General (Общие) мы говорили о поле Title bar text (Заголовок системной полосы), в котором также указывается название книги. Казалось бы, что речь идет о дублировании одного и того же параметра. А вот здесь нас поджидают неожиданности: если заполнить оба поля, то в системной полосе будет выведен заголовок из поля Title bar text (Заголовок системной полосы), а заголовок из поля Title (Заголовок) будет игнорироваться. Если в поле Title bar text (Заголовок системной полосы) ничего не будет введено, то тогда заголовок берется из поля Title (Заголовок).

В списке Language (Язык) выбирается русский язык.

На вкладке Files (Файлы) можно упоминать только о поле Full text search stop list file (Файл полнотекстового поиска текста), в котором указывается файл в формате STP. Файл STP создается для исключения определенных слов из полнотекстового поиска (см. выше).

На вкладке Compiler (Компилирование) определяются некоторые действия, выполняемые при компилировании. Например, опция Notes (Сообщения) выводит текстовые сообщения о ходе выполнения операций компилирования, а опция Progress(Выполнение) показывает процессинг выполнения компилирования.

Опция Don't include folders in compiled file (Не включать папки в скомпилированный файл) запрещает включать в проект папки, даже если они были указаны в ходе определения исходных файлов HTML.

Опция Compile full-text search information (Компилировать полнотекстовый поиск информации) позволяет организовать полнотекстовый поиск в готовом файле CHM.

Для принятия изменений нажмите на кнопку ОК.

Компилирование проекта

Для запуска компилирования, то есть создания файла CHM на основе исходных файлов выполните команду File Compile (Файл → Компилировать). Укажите папку, в которую будет выполняться сохранение файла CHM. После этого запускается «мясорубка», показывающая, что операция выполняется. Результаты компилирования выводятся в специальное окно. Проверьте, нет ли в отчете слова Error, то есть ошибок. Даже если ошибки будут, конечный файл все равно создается, с исключением ошибочных записей.

Декомпилирование файлов CHM

Кроме создания файлов CHM программа позволяет декомпилировать файлы CHM, то есть извлекать из них исходные файлы HTML, а также оглавление, индекс и т. д. Для этого выполните команду File Decompile (Файл → Декомпилировать). В открывшемся окне Decompile .CHM file (Декомпилировать файл CHM) в поле Destination folder (Расположение папки) нужно указать папку, в которой будут сохраняться извлекаемые файлы. Нажмите на кнопку Browse (Обзор) и укажите нужную папку. В поле Compiled help file (Скомпилированный файл помощи) нужно указать файл CHM, из которого будут извлекаться файлы. Нажмите на кнопку Browse (Обзор) и укажите нужный файл CHM. Нажмите на кнопку ОК. Извлечение выполняется мгновенно.

Работа с устаревшим форматом HLP

Название формата от слова «Help», то есть «Помощь». Формат WinHelp (Microsoft Windows Help, .HLP) является проприетарным форматом файлов справки и был разработан корпорацией Microsoft для организации справочной системы. Файлы справки вызывались нажатием клавиши F1 на клавиатуре ПК. В настоящее время формат HLP считается устаревшим и в ОС Windows Vista и 7 больше не поддерживается. На смену формату HLP пришел другой формат: HTMLHelp (Microsoft Compressed HTML Help, Microsoft CompiledHTML Help, .CHM) — проприетарный формат файлов контекстной справки, разработанный корпорацией Microsoft и выпущенный в 1997 году в качестве замены формата WinHelp. Формат CHM был более чем подробно рассмотрен в данной книге. Файлы справки CHM также открываются нажатием клавиши F1 на клавиатуре ПК.

Так как в последних ОС Windows файлы в формате HLP больше по умолчанию не открываются, а такие файлы остались от многих программ, созданных в предыдущие годы, то возникает проблема — как прочитать такие файлы. Можно предложить 2 решения проблемы:

Скачать с официального сайта корпорации Microsoft файл WinHlp32.exe или WinHlp64.exe для чтения формата HLP в ОС Windows Vista(для версии 7 не поддерживается). Внимательно читайте, для какой разрядности (32 или 64) предлагаются файлы для скачивания. Поддерживаемые операционные системы: Windows Vista, Windows Vista Business, Windows Vista Business 64-Bit Edition, Windows Vista Business N, Windows Vista Enterprise, Windows Vista Enterprise 64-Bit Edition, Windows Vista Home Basic, Windows Vista Home Basic 64-Bit Edition, Windows Vista Home Basic N; Windows Vista Home Premium, Windows Vista Home Premium 64-Bit Edition, Windows Vista Starter, Windows Vista Starter N; Windows Vista Ultimate, Windows Vista Ultimate 64-разрядная версия;

Декомпилировать файлы HLP и снова их скомпилировать, но уже в формате CHM.

Первый вариант подразумевает проверку подлинности лицензии на ОС Windows и поэтому для многих пользователей не приемлем.

Примечание: для справки — у нас лицензионная ОС Windows Vista. Это мы специально обговариваем, так как многие ехидно нас об этом переспрашивают, когда мы говорим о лицензионности. Да было бы даже странно, если бы мы решились скачивать с сайта корпорации Microsoft многочисленные программы, описанные в этой книге, понимая, что подлинность лицензии на ОС Windows может каждый раз проверяться.

Для скачивания файла WinHelp Viewer для ОС Windows Vista, с помощью которого можно открывать файлы HLP в ОС Windows Vista перейдите по ссылке http://www.microsoft.com/downloads/en/details.aspx?familyid=6ebcfad9-d3f5-4365-8070-334cd175d4bb&displaylang=en. Перед скачиванием выберите русский язык, иначе интерфейс программы будет английским. Укажите версию ОС Windows и ее разрядность (32 или 64).

Для декомпиляции файлов HLP можно предложить следующие решения:

Декомпилятор HelpDC 2.0 с веб-страницы http://winapi.by.ru/download/helpdc20.zip;

Оболочка для декомпилятора справки в формате HLP с веб-страницы http://winapi.by.ru/download/hds.zip;

Декомпилятор helpdecoс веб-страницы http://sourceforge.net/projects/helpdeco;

Конвертор SmartHLP 2 RTF с веб-страниц http://convertera.net/load/text/smart_hlp2_rtf/4-1-0-27 или http://download.cnet.com/Smart-HLP-2-RTF/3000-2079_4-10163674.html. Будьте внимательны — многие другие веб-страницы, предлагающие эту программу, были инфицированы трояном или предлагали фишинговые ссылки.


Hilliger Media Shop
Template "butterflymeadowfree" designed by Hilliger Media (Copyright © 2011)