如何将doc/docx文件转换为markdown或结构化文本?

Lor*_*uer 57 markdown doc converter ms-office

是否有一个程序或工作流转换.doc.docx文件,以降价或类似的文本?

PS:理想情况下,我欢迎consolas将MS Word文档中的特定字体(例如)渲染到的选项text-code: ```....```.

小智 63

Pandoc支持直接从docx转换为markdown:

pandoc -f docx -t markdown foo.docx -o foo.markdown
Run Code Online (Sandbox Code Playgroud)

  • 要保存图像,请将选项“--extract-media=./”添加到上面的命令中。它将创建一个包含所有图像的文件夹“media”,它们将正确显示在 markdown 文件中。 (9认同)
  • 使用自制软件测试和使用OS-X El Capitan(`brew install pandoc`) (2认同)
  • Word 表没有正确转换 - 只是在 MD 中结束了纯文本。 (2认同)
  • 有什么办法可以保存图像吗? (2认同)
  • @WestCoastProjects,当我使用 -t gfm 时,表会为我转换。 (2认同)

Ton*_*gan 10

Mammoth最出名的是Word to HTML转换器,但它现在支持Markdown编写器模块.当我上次检查时,Mammoth Markdown支持仍处于早期阶段,因此您可能会发现某些功能不受支持.像往常一样......查看网站上的最新细节.

安装

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

npm install -g mammoth
Run Code Online (Sandbox Code Playgroud)

命令行

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

mammoth document.docx --output-format=markdown
Run Code Online (Sandbox Code Playgroud)

API

NodeJS API转换为Markdown ...

var mammoth = require("mammoth");
mammoth.convertToMarkdown({path: "path/to/document.docx"});
Run Code Online (Sandbox Code Playgroud)

特征:

Mammoth Markdown作家目前支持:

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

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

没有Markdown(2016年5月):

使用Markdown:


Ton*_*gan 10

鉴于你在stackoverflow上问了这个问题,你可能想要一个程序或命令行解决方案,我已经包含了另一个答案.

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

Writage将Word转换为Markdown WYSIWYG编辑器,因此您可以打开Markdown文件并像编辑Microsoft Word中的任何文档一样进行编辑.此外,您可以将Word文档保存为Markdown文件,而无需任何其他转换器.

在封面下,Writage使用您还需要安装的Pandoc才能使此插件正常工作.

它目前支持以下Markdown元素:

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

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


小智 8

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

$ gem install word-to-markdown
$ w2m path/to/document.docx
Run Code Online (Sandbox Code Playgroud)

它通过LibreOffice路由文档,但也最好根据它们的相对字体大小来标记标题.

还有一个托管版本,就像拖放转换一样简单.


Ton*_*ski 7

使用转换工具

您是否要“按质量”转换旧文件?
如果是这样,您将需要一个转换工具。Markdown编辑器通常一次对一个文件进行交互操作。转换工具是按设计将文件“ 按质量 ” 转换的。


但是,哪个转换工具?

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

Windows用户:查看Windows用户的“ Writage”
Linux / macOS / Cygwin,继续阅读...


潘多克

经过大量的测试,pandoc到目前为止,它是完成此类任务的最佳工具。

句法: pandoc -f[rom] docx -t[o] gfm --wrap=preserve somedoc.docx -o[utput] somedoc.md

首先我没有意识到的是,要pandoc导出Github风味Markdown(GFM)表(在Pandoc中称为“ pipe_tables”),必须使用GFM pandoc格式。

多重降价

Multimarkdown是功能更丰富的markdown格式,除其他外还支持元数据,目录,脚注和YAML。但gfm也很棒,并符合Github的标准。


Pandoc支持的格式

-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)  


-t docx (docx)  
-t html (HTML)  
-t latex (LaTeX)  
-t mediawiki (MediaWiki markup)  

-t textile (Textile)  
-t rst (reStructuredText)  
-t docbook (DocBook)  
-t t2t (txt2tags)  
-t odt (ODT)  
-t epub (EPUB)  
-t opml (OPML)  
-t org (Emacs Org mode)  
-t twiki (TWiki markup)  
-t haddock (Haddock markup)  
Run Code Online (Sandbox Code Playgroud)



所见即所得的编辑器

如果导出markdown --> docx并且不导出,则docx --> markdownTypora(跨平台)或iA Writer(macOS)之类的WYSIWYG编辑器将可以使用高级字体以获得更好的屏幕可读性,例如包括emoji表情和其他unicode字符。但是“ 按质量 ”使用pdf pandoc输出也可以打印。


文字MS Word扩展名

Writage(MS Word扩展名)在读取Microsoft Word中的markdown文件方面做得很合理。然后可以将其另存为.docx文件。另外,也可以使用Markdown Viewer for Chrome之类的工具,然后将粘贴内容复制到Word中。这将保留您在Markdown Viewer中选择的格式设置主题。

文字-MS Word扩展名


更新:

纸张尺寸:A4或美国信纸

Pandoc的默认行为是输出到US Letter。通过设置geometry变量来修复它:

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


注意: pandoc使用LaTeX模板将格式设置为PDF,因此,LaTeX如果该命令无法立即使用,则可能需要为操作系统安装软件包。

LaTeX安装说明


Tob*_*ler 5

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
Run Code Online (Sandbox Code Playgroud)


小智 0

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

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