Markdown-Docx: конвертация Markdown в DOCX с возможностью скачивания 159

小编 ·

Markdown-Docx: конвертация Markdown в DOCX с возможностью скачивания

markdown-docx — это инструмент для преобразования файлов Markdown в формат DOCX. Он поддерживает браузер и Node.js и обеспечивает высокоточную конвертацию.

Markdown-Docx: конвертация Markdown в DOCX с возможностью скачивания

Что такое markdown-docx?

markdown-docx — это инструмент для преобразования файлов Markdown в формат DOCX, поддерживающий работу как в браузере, так и в среде Node.js, и обеспечивающий высокую точность преобразования.

Основные возможности markdown-docx

  • Высокоточное преобразование: способен с высокой точностью преобразовывать файлы Markdown в формат DOCX.

  • Поддержка изображений: автоматическая загрузка и обработка изображений в процессе преобразования.

  • Поддержка элементов Markdown: поддерживаются таблицы, списки, блоки кода и другие элементы Markdown.

  • Гиперссылки и сноски: сохранение гиперссылок и сносок в DOCX.

  • Настройка стилей: предоставляются настраиваемые параметры стилей.

  • Поддержка нескольких сред: работает как в браузере, так и в среде Node.js.

  • Интерфейс командной строки: предоставляется инструмент CLI для удобного использования.

Markdown-Docx: позволяет конвертировать файлы Markdown в формат DOCX и скачивать их.webp

Установка Markdown-Docx

Поддерживается установка с помощью npm, yarn и pnpm:

# 使用 npm
npm install markdown-docx
# 使用 yarn
yarn add markdown-docx
# 使用 pnpm
pnpm add markdown-docx

Базовое использование

Среда Node.js

import fs from 'node:fs/promises';
import markdownDocx, { Packer } from 'markdown-docx';
async function convertMarkdownToDocx() {
  const markdown = await fs.readFile('input.md', 'utf-8');
  const doc = await markdownDocx(markdown);
  const buffer = await Packer.toBuffer(doc);
  await fs.writeFile('output.docx', buffer);
  console.log('Conversion completed successfully!');
}
convertMarkdownToDocx();

Браузерная среда

import markdownDocx, { Packer } from 'markdown-docx';

async function convertMarkdownToDocx(markdownText) {
  const doc = await markdownDocx(markdownText);
  const blob = await Packer.toBlob(doc);
  const url = URL.createObjectURL(blob);
  const a = document.createElement('a');
  a.href = url;
  a.download = 'document.docx';
  a.click();
  URL.revokeObjectURL(url);
}

document.getElementById('convert-btn').addEventListener('click', () => {
  const markdown = document.getElementById('markdown-input').value;
  convertMarkdownToDocx(markdown);
});

Расширенное использование

Для более точного управления можно использовать класс MarkdownDocx:

import { MarkdownDocx, Packer } from 'markdown-docx';
import fs from 'node:fs/promises';
async function convertWithOptions() {
  const markdown = await fs.readFile('input.md', 'utf-8');
  const converter = new MarkdownDocx(markdown);
  const doc = await converter.toDocument({
    title: 'My Document',
    creator: 'markdown-docx',
    description: 'Generated from Markdown'
  });
  const buffer = await Packer.toBuffer(doc);
  await fs.writeFile('output.docx', buffer);
}

Поддерживаются настраиваемые параметры конфигурации, например:

  • imageAdapter: пользовательская функция обработки изображений

  • ignoreImage: игнорировать изображения в Markdown

  • ignoreFootnote: игнорировать сноски

  • ignoreHtml: игнорировать встроенный HTML

  • gfm: поддержка GitHub Flavored Markdown

Инструмент командной строки

Для преобразования файлов можно использовать глобально установленный инструмент CLI:

# 全局安装
npm install -g markdown-docx

# 基础用法
markdown-docx --input input.md --output output.docx

# 简写形式
markdown-docx -i input.md -o output.docx

Руководство по использованию Markdown-Docx

  • Вставьте содержимое в формате Markdown в область редактирования слева

  • В области справа отображается предварительный просмотр в реальном времени

  • Нажмите кнопку «Download Docx» в правом верхнем углу браузера, заполните основную информацию о документе во всплывающем окне и скачайте документ DOCX.

Руководство по использованию Markdown-Docx.webp

Github:https://github.com/vace/markdown-docx

Демонстрация:https://md-docx.vace.me/