Подборка коротких самостоятельных статей и фрагментов кода на JavaScript для изучения повседневных программных приёмов за 30 секунд или быстрее.
mwilliamson/mammoth.js
Библиотека JavaScript и CLI для преобразования документов Word в формате .docx в чистый семантический HTML.
- Звёзды
- 6,330
- Форки
- 673
- Открытые issues
- 60
- Последний коммит
- 5 дней назад
Что это?
Mammoth преобразует файлы .docx, созданные, например, в Microsoft Word, Google Docs и LibreOffice, в HTML. При этом он опирается на семантическую информацию документа, например стили абзацев, и игнорирует большую часть визуального оформления. Так, абзац со стилем Heading 1 превращается в элемент h1, а не копирует шрифт и его размер.
Mammoth работает в Node.js и браузере, а использовать его можно через API библиотеки или CLI. С помощью пользовательских style maps можно сопоставлять собственные стили Word с HTML-элементами и классами, а hook для преобразования документа позволяет изменить разобранный документ до генерации HTML. Изображения можно встраивать в виде data URI или сохранять в отдельный каталог вывода.
Поскольку выходные данные не проходят санитизацию, с недоверенными входными данными нужно обращаться осторожно. Доступ к внешним файлам по умолчанию отключён. Порты для Python, Java/JVM и .NET поддерживаются как отдельные проекты.
Ключевые возможности
- 01Преобразует заголовки, списки, таблицы, изображения, ссылки, сноски и концевые сноски в HTML.
- 02Сопоставляет пользовательские стили Word с HTML-элементами с помощью style maps.
- 03Поддерживает полужирное начертание, курсив, подчёркивание, зачёркивание, верхний и нижний индексы.
- 04Предоставляет CLI и API библиотеки для Node.js и браузера.
- 05Извлекает из документов обычный текст без форматирования.
- 06Позволяет преобразовывать документ до генерации HTML.
Сценарии использования
- Импорт статей или документации, созданных в Word, на сайт или в CMS.
- Предварительный просмотр содержимого .docx в браузере без установленного Word.
- Пакетное преобразование файлов Word в HTML в сборке или серверном конвейере на Node.js.
Быстрый старт
- 1
Установите библиотеку из npm
npm install mammoth - 2
Преобразуйте файл .docx в HTML с помощью CLI
mammoth document.docx output.html
Что важно знать
- Mammoth не очищает исходные документы, поэтому с ненадёжными входными данными нужно обращаться осторожно.
- Сложные документы вряд ли удастся преобразовать идеально, поскольку структуры .docx и HTML различаются.
- Вывод в Markdown больше не рекомендуется.
Темы
Частые вопросы
- Что такое mammoth.js?
- Библиотека JavaScript и CLI для преобразования документов Word в формате .docx в чистый семантический HTML. Mammoth преобразует файлы .docx, созданные, например, в Microsoft Word, Google Docs и LibreOffice, в HTML. При этом он опирается на семантическую информацию документа, например стили абзацев, и игнорирует большую часть визуального оформления. Так, абзац со стилем Heading 1 превращается в элемент h1, а не копирует шрифт и его размер.
- mammoth.js можно использовать бесплатно? Какая у него лицензия?
- mammoth.js распространяется с открытым исходным кодом под лицензией BSD-2-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- mammoth.js всё ещё поддерживается?
- Активно поддерживается. Последний коммит в mammoth.js — 16 окт. 2026 г..
- Для чего можно использовать mammoth.js?
- Импорт статей или документации, созданных в Word, на сайт или в CMS. Предварительный просмотр содержимого .docx в браузере без установленного Word. Пакетное преобразование файлов Word в HTML в сборке или серверном конвейере на Node.js.
- Как установить mammoth.js?
- Установите библиотеку из npm: npm install mammoth Преобразуйте файл .docx в HTML с помощью CLI: mammoth document.docx output.html
- Где скачать mammoth.js?
- Исходный код и инструкции по установке — на GitHub: https://github.com/mwilliamson/mammoth.js
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Node.js — кроссплатформенная среда выполнения JavaScript с открытым исходным кодом для запуска JavaScript вне браузера.
Прогрессивный фреймворк для Node.js, позволяющий создавать эффективные и масштабируемые серверные приложения на TypeScript или JavaScript.
Быстрый, не навязывающий подходов минималистичный веб-фреймворк для Node.js, предназначенный для создания веб-приложений и HTTP API.
Socket.IO — библиотека для двустороннего обмена событиями с низкой задержкой в реальном времени между клиентами и серверами.
Открытая headless-платформа для публикаций на Node.js: блоги, членство, платные подписки и рассылки.