是否有程序或工作流程来转换.doc
或.docx
归档为Markdown或类似文本?
PS:理想情况下,我欢迎consolas
将MS Word文档中的特定字体(例如)呈现为的选项text-code: ```....```
。
Answers:
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)
brew install pandoc
)
--extract-media=./
到上面的命令中。它将创建一个media
包含所有图像的文件夹,它们将正确显示在markdown文件中。
我已经测试了这三个: (1)-Pandoc / (2)-Mammoth / (3)-w2m
到目前为止,该高级转换工具支持多种文件类型(man page
有关支持的文件类型,请参阅Pandoc的文档):
pandoc -f docx -t gfm somedoc.docx -o somedoc.md
要pandoc
导出降价表(在Pandoc中为'pipe_tables'),请使用multimarkdown
或gfm
输出格式。
如果格式化为PDF,请为此pandoc
使用LaTeX
模板,因此,LaTeX
如果该命令无法立即使用,则可能需要为您的OS安装软件包。LaTeX安装说明
要回答此特定问题(docx --> markdown
),请使用Microsoft Word的Writeage插件。反之亦然markdown --> docx
。
如果您希望保留unicode字符,表情符号并保持高级字体,则在文件格式之间使用复制和粘贴操作时,将从下面的编辑器中受益匪浅。请注意,这些不是本机对进行读写docx
。
对于美国境外,请设置geometry变量:
pandoc -s -V geometry:a4paper -o outfile.pdf infile.md
这里值得一提-发现Markdown时并不是很明显,MultiMarkdown是迄今为止功能最丰富的Markdown格式,除其他外还支持元数据,目录,脚注,数学,表格和YAML。
但是Github的默认格式gfm
也使用表格。我用gfm
Github / GitLab和MultiMarkdown
其他所有东西。
猛mm象是众所周知的Word到HTML转换器,但现在支持Markdown编写器模块。当我上次检查时,猛mm象Markdown支持仍处于早期阶段,因此您可能会发现某些功能不受支持。与往常一样,请访问该网站以获取最新信息。
要使用Javascript版本...安装NodeJS,然后安装Mammoth:
npm install -g mammoth
命令行将Word文档转换为Markdown ...
mammoth document.docx --output-format=markdown
NodeJS API转换为Markdown ...
var mammoth = require("mammoth");
mammoth.convertToMarkdown({path: "path/to/document.docx"});
猛mm象Markdown作家目前支持:
Mammoth命令行工具和API已移植到多种语言:
无降价促销(2016年5月):
使用Markdown:
mammoth document.docx --output-format=markdown > document.md
为我工作以生成一个转换后的文件,因为似乎仍然不支持直接执行此操作
考虑到您在stackoverflow上问了这个问题,您可能想要一个程序化或命令行解决方案,为此我提供了另一个答案。
但是,替代解决方案可能是使用Microsoft Word的Writage Markdown插件。
Writage将Word转换为Markdown WYSIWYG编辑器,因此您将能够像正常编辑Microsoft Word中的任何文档一样打开Markdown文件并对其进行编辑。也可以将Word文档另存为Markdown文件,而无需任何其他转换器。
在幕后,Writage使用Pandoc,您还需要安装Pandoc才能使此插件正常工作。
当前,它支持以下Markdown元素:
对于许多最终用户而言,这可能是理想的解决方案,因为他们不需要安装或运行任何命令行工具-而是坚持使用他们最熟悉的工具。
您可以使用Word to Markdown(Ruby Gem)一步将其转换。转换可以很简单:
$ gem install word-to-markdown
$ w2m path/to/document.docx
它通过LibreOffice路由文档,但是也尽力根据标题的相对字体大小来语义化标题。
还有一个托管版本,就像拖放一样简单以进行转换。
Word Markdown可能值得一试,或者使用通过HTMLZ使用Calibre和Pandoc进行此处介绍的过程,这是他们使用的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
您可以使用以下Visual Basic脚本将Word文档从MS Word转换为Markdown:
https://gist.github.com/hawkrives/2305254
请按照“使用代码”下的说明在Word中创建一个新的宏。
注意:这会将当前打开的Word文档转换为Markdown,从而删除所有Word格式(标题,列表等)。首先保存要转换的Word文档,然后在运行宏之前将其再次保存为新文档。这样,您始终可以返回到原始Word文档进行更改。
这里有Word标记VB脚本的更多示例:
这是一个用Ruby构建的开源Web应用程序,用于执行此操作:https : //word2md.com
如果您使用的是Linux,请尝试使用Pandoc(首先使用LibreOffice或其他工具将.doc / .docx转换为html,然后运行它)。
在Windows上(如果Pandoc不起作用),您可以尝试以下网站(在线演示,可以下载):Markdownify
pandoc -f html -t markdown -s mydoc.html -o mydoc.md
产生纯/非重组文本(即与复制并粘贴到文本编辑器相同)。您对这两个有何经验?
pandoc
现在支持直接从转换.docx
为.md
包括数学公式。看看这里例如35