Tiny Online Tools logoTiny Online ToolssearchПоиск инструментов…grid_viewВсе инструменты
Главнаяchevron_rightИнструменты для документовchevron_rightПросмотр CHMПросмотр CHM

Просмотр CHM

Откройте старый файл скомпилированной HTML-справки Microsoft, пройдите по дереву содержания и читайте страницы в браузере.

upload_file

Нажмите для выбора или перетащите файлы сюда

CHM

Допустимо: .chm

Похожие инструменты

Просмотр XPS / OXPS

Просмотр XPS / OXPS

Откройте документы фиксированной вёрстки XPS и OXPS от Microsoft и читайте их постранично, без всяких компонентов Windows.

Извлечение CHM

Извлечение CHM

Распакуйте файл скомпилированной HTML-справки на страницы, стили и картинки — архивом ZIP, сохраняющим исходную структуру папок.

Просмотр файлов электронной почты

Просмотр файлов электронной почты

Откройте файлы EML и Outlook MSG в браузере: заголовки, отрисованное тело письма, структуру MIME и вложения — без почтового клиента.

Просмотр MHTML / MHT

Просмотр MHTML / MHT

Откройте веб-страницу, сохранённую в одном файле MHT или MHTML, и посмотрите её вместе с собственными изображениями и стилями.

Раскладка стола 3D-принтера

Раскладка стола 3D-принтера

Автоматически размещает несколько моделей на столе принтера, позволяет двигать их мышью и выгружает готовый стол одной моделью.

PDF в текст

PDF в текст

Мгновенно извлекайте обычный текст из PDF-файлов прямо в браузере. Без загрузки на сервер и без регистрации.

XML в CSV

XML в CSV

Преобразуйте повторяющиеся XML-записи в строки CSV прямо в браузере.

apps

Больше инструментов

Просмотрите нашу полную коллекцию бесплатных онлайн-инструментов.

Что такое CHM на самом деле

.chm — это маленькая файловая система. Microsoft назвала её ITSS: заголовок, каталог записей и один или два раздела содержимого — раздел 0 хранится как есть, раздел 1 сжат алгоритмом LZX. Внутри лежат обычные HTML-страницы, таблицы стилей и картинки, плюс несколько потоков метаданных, имена которых начинаются с # или $.

Два из них здесь важны. #SYSTEM хранит заголовок справки и её тему по умолчанию — страницу, которую программа просмотра должна открыть первой. Без неё читателю остаётся гадать, а угадывание по алфавиту обычно приводит к таблице стилей. Файл .hhc — это дерево содержания, записанное как HTML-карта сайта из вложенных <UL> и <LI> с элементами <OBJECT type="text/sitemap"> внутри.

Настоящие .hhc печально известны своей некорректностью — незакрытые пункты списка повсюду, — поэтому они разбираются собственным HTML-парсером браузера, который восстанавливается после этого так же, как это делала оригинальная программа просмотра справки. XML-парсер просто отверг бы такой файл.

Чтение страницы

Стили и изображения каждой страницы разрешаются относительно её собственного пути внутри справки и заменяются байтами самого CHM. Ссылки между темами работают: страница показывается в iframe того же происхождения, но без allow-scripts, поэтому внутри ничего не может выполниться, а сам инструмент способен перехватить щелчок и перейти к нужной теме. Ссылка в открытый интернет не открывается, а внедрённая политика default-src 'none' не даст загрузить её даже случайно.

О сжатии — прямо

Инструмент сообщает, что использует файл: LZX с размером окна и числом блоков сброса, либо ничего, если всё лежит в хранимом разделе.

Декодер LZX здесь написан по спецификации [MS-PATCH] и по lzxd.c из libmspack. Его чтение битового потока, каноническое декодирование Хаффмана, несжатые блоки и фильтр x86 покрыты модульными тестами. А вот декодирование блоков verbatim и aligned ни разу не запускалось на файле, созданном компрессором самой Microsoft, потому что не было офлайн-корпуса для проверки.

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

Ещё доступно

Каждая страница с размером и разделом, в котором она лежит, компилятор, собравший файл, и подробности каталога ITSS. Чтобы вытащить файлы, а не читать их, воспользуйтесь извлечением CHM.

Конфиденциальность

Файл справки открывается в браузере и никогда не загружается на сервер.