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/

收藏
最新工具
ChinaTextbook
ChinaTextbook

一个专门收集和分享中国大陆从小学到大学的教材资源的开源项目,特别...

暗壳AI
暗壳AI

家居AIGC营销与导购工具,它号称“一人即团队”,能够快速生成渲...

UntitledPen
UntitledPen

一个可以生成真实人声旁白的工具,也就是能够在一个平台上编写、编辑...

PageAI
PageAI

一款AI网站生成工具,就像一个小型创意工作室一样,能在短时间内根...

Seedance AI
Seedance AI

字节跳动推出的一款强大的视频生成工具,借助 Seedance 1...

ChatPs
ChatPs

ChatPs 是一款为 Photoshop 设计的插件,它背后是...

趣丸千音
趣丸千音

一个AI语音创作平台,专注提供一站式智能语音解决方案。集成文本转...

太极神器 TAICHI-flet
太极神器 TAICHI-flet

基于flet的一款多功能娱乐软件,实现了浏览图片、音乐、小说、各...

YIKM
YIKM

一个能在线玩小霸王、红白机、街机、FC 等经典游戏的地方,像《魂...

Bridgely
Bridgely

基于AI的实时通用翻译浏览器扩展,支持 60 多种语言,包括 W...