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/

收藏
最新工具
法大大iTerms
法大大iTerms

法大大推出的一站式法律AI工作台,基于自研法律大模型的AI智能体...

Relume
Relume

一个通过AI来优化网站设计与搭建流程的平台,可以快速生成网站地图...

Pomelli
Pomelli

Google开发的AI营销工具,主要服务中小商家。你只需要提供企...

Gartic.io
Gartic.io

一个很受欢迎的在线绘画猜词游戏。它把经典的“你画我猜”玩法和多人...

LandPPT
LandPPT

一个基于大语言模型的开源免费AIPPT生成平台,支持将文档内容自...

AppleWalls
AppleWalls

一个免费提供苹果官方内置壁纸下载的网站,包括iPhone、iPa...

Coddy.Tech
Coddy.Tech

一个免费、有趣且实用的编程学习平台。支持学习包括 Python、...

森林电台Tree.FM
森林电台Tree.FM

一个能让你收听世界各地森林声音的网站。通过随机收听功能,你可以沉...

Sweezy Cursors
Sweezy Cursors

一个提供免费鼠标光标​​的网站,支持​​Chrome浏览器​​和...

YumCheck
YumCheck

一款能帮用户解析食品包装上的营养成分标签,评估食品是否健康的免费...