Markdown-Docx:可将Markdown文件转换为DOCX格式并下载

markdown-docx是什么?

markdown-docx 是一个用于将 Markdown 文件转换为 DOCX 格式的工具,支持浏览器和 Node.js 环境并支持高保真转换。

markdown-docx主要功能

  • 高度保真转换:能够将 Markdown 文件高精度地转换为 DOCX 格式。

  • 图片支持:支持在转换过程中自动下载和处理图片。

  • Markdown 元素支持:支持表格、列表、代码块等各种 Markdown 元素。

  • 超链接与脚注:支持在 DOCX 中保留超链接和脚注。

  • 样式自定义:提供可定制的样式选项。

  • 多环境支持:既可以在浏览器环境中使用,也能在 Node.js 环境中运行。

  • 命令行界面:提供命令行工具方便使用。

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

演示DEMO:https://md-docx.vace.me/

收藏
最新工具
Chess Tempo
Chess Tempo

一个在线国际象棋训练平台。它的战术题库质量很高,后来又增加了多种...

DeeVid AI
DeeVid AI

一个用AI生成视频的工具。它能让没有技术基础的人,通过输入文字、...

Hole.io
Hole.io

一款由 Voodoo 出品的休闲竞技手游,核心玩法是“大洞吃小洞...

Monotype Fonts
Monotype Fonts

蒙纳字库做的企业字体订阅和管理平台,主打一站式解决用字问题。现在...

Flova AI
Flova AI

一个面向短片、广告、动画和社交媒体创作者的AI创作平台。它能把一...

Prosperous Universe
Prosperous Universe

Simulogics开发的一款硬核太空题材经济模拟经营类MMO游...

MediaCrawler
MediaCrawler

一个功能强大的多平台自媒体数据采集工具,支持小红书、抖音、快手、...

WeaveFox
WeaveFox

实现设计稿高精度转代码,它把 “设计稿还原 + 需求编码 + 部...

Narrow.One
Narrow.One

中世纪背景的多人网上射击游戏,主打弓箭对战和5v5团队竞技。Pe...

Slopeio.org
Slopeio.org

主打《Slope》快节奏跑酷游戏,这游戏是Y8 Studio做的...