89

是否有将文件转换为 Markdown 或类似文本的程序或工作.doc流程.docx

PS:理想情况下,我会欢迎将 MS Word 文档中的特定字体(例如consolas)呈现为text-code: ```....```.

4

12 回答 12

105

Pandoc 支持直接从 docx 到 markdown 的转换:

pandoc -f docx -t markdown foo.docx -o foo.markdown

支持几种降价格式:

-t gfm (GitHub-Flavored Markdown)  
-t markdown_mmd (MultiMarkdown)  
-t markdown (pandoc’s extended Markdown)  
-t markdown_strict (original unextended Markdown)  
-t markdown_phpextra (PHP Markdown Extra)  
-t commonmark (CommonMark Markdown)  
于 2015-10-15T13:31:37.990 回答
20

docx -> 降价

具体关于问题 ( docx --> markdown),请使用 Microsoft Word 的Writeage插件。它也可以反过来工作markdown --> docx

更多选择

  1. 使用转换工具进行多文件转换。
  2. 对单个文件和高级字体使用 WYSIWYG 编辑器。

哪些转换工具?

我已经测试了这三个:(1) Pandoc (2) Mammoth (3) w2m


潘多克

到目前为止,支持多种文件类型的高级转换工具(有关支持的文件类型,请参见 Pandoc man page):

pandoc -f docx -t gfm somedoc.docx -o somedoc.md

注意
  • pandoc导出降价表(pandoc 中的“pipe_tables”),请使用multimarkdowngfm输出格式。

  • 如果格式化为 PDF,请为此pandoc使用LaTeX模板,因此LaTeX如果该命令无法开箱即用,您可能需要为您的操作系统安装软件包。LaTeX 安装说明


哪些所见即所得的编辑器?

对于docx,使用Writeage


维护优质字体

如果您希望保留unicode 字符表情符号并保持优质字体,在文件格式之间使用复制和粘贴操作时,您将从下面的编辑器中获得一些帮助。请注意,这些不会以本机方式读取或写入docx.

程序等效

对于程序等效项,您可能会通过调用不同的pdf 引擎及其各自的选项来获得一些结果,但我尚未对此进行测试。pandoc 默认为“pdflatex”。

pandoc --pdf-engine=
pandoc --pdf-engine-opt=STRING

更新:A4 与美国信函

对于美国以外的地区,设置几何变量:

pandoc -s -V geometry:a4paper -o outfile.pdf infile.md

脚注

这里值得一提的是——在发现 Markdown 时并不明显的是MultiMarkdown是迄今为止功能最丰富的 Markdown 格式。

MultiMarkdown 支持元数据、目录、脚注、数学、表格和 YAML。

但是 Github 使用的默认格式gfm也支持表格。我gfm用于 Github/GitLab 和MultiMarkdown其他一切。

于 2018-11-04T10:04:19.860 回答
12

鉴于您在 stackoverflow 上提出了这个问题,您可能想要一个编程或命令行解决方案,我已经为其提供了另一个答案。

但是,另一种解决方案可能是使用 Microsoft Word 的Writage Markdown 插件

Writage 将 Word 变成您的 Markdown WYSIWYG 编辑器,因此您将能够打开 Markdown 文件并对其进行编辑,就像您通常在 Microsoft Word 中编辑任何文档一样。也可以将您的 Word 文档保存为 Markdown 文件,而无需任何其他转换器。

在幕后,Writage 使用Pandoc,您还需要安装它才能使此插件正常工作。

它目前支持以下 Markdown 元素:

  • 标题
  • 列表(编号和项目符号)
  • 链接
  • 字体样式,例如粗体、斜体
  • 脚注

对于许多最终用户来说,这可能是理想的解决方案,因为他们不需要安装或运行任何命令行工具,而只需坚持使用他们最熟悉的工具。

于 2016-05-21T04:59:17.187 回答
11

Mammoth以 Word 到 HTML 转换器而闻名,但它现在支持Markdown 编写器模块。当我上次检查时,Mammoth Markdown 支持仍处于早期阶段,因此您可能会发现某些功能不受支持。像往常一样...查看网站了解最新详情。

安装

要使用 Javascript 版本...安装NodeJS,然后安装 Mammoth:

npm install -g mammoth

命令行

将 Word 文档转换为 Markdown 的命令行...

mammoth document.docx --output-format=markdown

API

NodeJS API 转换为 Markdown ...

var mammoth = require("mammoth");
mammoth.convertToMarkdown({path: "path/to/document.docx"});

特征:

Mammoth Markdown writer 目前支持:

  • 列表(编号和项目符号)
  • 链接
  • 字体样式,例如粗体、斜体
  • 图片

Mammoth 命令行工具和 API 已移植到多种语言

没有降价(2016 年 5 月):

使用降价:

于 2016-05-21T04:30:24.750 回答
8

您可以使用Word to Markdown (Ruby Gem) 一步完成转换。转换可以很简单:

$ gem install word-to-markdown
$ w2m path/to/document.docx

它通过 LibreOffice 路由文档,但也最好根据它们的相对字体大小对标题进行语义化。

还有一个托管版本,只需拖放即可进行转换。

于 2015-01-12T17:12:46.293 回答
4

Word to Markdown可能值得一试,或者这里描述的过程通过 HTMLZ使用CalibrePandoc ,这是他们使用的 bash 脚本:

#!/bin/bash
mkdir temp
cp $1 temp
cd temp
ebook-convert $1 output.htmlz
unzip output.htmlz
cd ..
pandoc -f html -t markdown -o output.md temp/index.html
rm -R temp
于 2014-11-17T09:09:01.220 回答
3

这里

unoconv -f html test.docx
pandoc -f html -t markdown -o test.md test.html
于 2015-06-18T14:28:31.517 回答
2

您可以使用此 Visual Basic 脚本将 Word 文档从 MS Word 中转换为 Markdown:

https://gist.github.com/hawkrives/2305254

按照“使用代码”下的说明在 Word 中创建新宏。

注意:这会将当前打开的 Word 文档转换为 Markdown,从而删除所有 Word 格式(标题、列表等)。首先保存您计划转换的 Word 文档,然后在运行宏之前将该文档再次保存为新文档。这样,您始终可以返回原始 Word 文档进行更改。

这里有更多 Word 到 markdown VB 脚本的示例:

https://www.mediawiki.org/wiki/Microsoft_Word_Macros

于 2015-06-01T14:08:30.143 回答
1

这是一个用 Ruby 构建的开源 Web 应用程序来执行此操作: https ://word2md.com

于 2019-09-07T18:56:45.137 回答
0

如果您使用的是 Linux,请尝试Pandoc(首先使用 LibreOffice 或其他工具将 .doc/.docx 转换为 html,然后运行它)。

在 Windows 上(或者如果 Pandoc 不工作),你可以试试这个网站(在线演示,你可以下载它):Markdownify

于 2013-05-05T09:54:39.620 回答
0

对于项目符号列表,您可以将列表粘贴到 Sublime Text 中并使用多选(已测试)或查找和替换(未测试)来替换例如专有的 MS Word字符---

这不适用于标题,但可以对其他元素使用类似的技术。

于 2015-09-11T17:53:21.577 回答
0

对于.docWord 文件:

antiword -f some_file.doc

antiword的主页: http: //www.winfield.demon.nl/

于 2021-10-16T12:32:34.487 回答