web-dev-qa-db-ja.com

doc / docxファイルをマークダウンまたは構造化テキストに変換するにはどうすればよいですか?

.docまたは.docxファイルをMarkdownまたは同様のテキストに変換するプログラムまたはワークフローはありますか?

PS:理想的には、MS Word文書内の特定のフォント(例:consolas)をtext-code: ```....```にレンダリングするオプションを歓迎します。

54
Lorenz Lo Sauer

Pandocは、docxからmarkdownへの直接変換をサポートしています。

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

Mammoth はWord to HTMLコンバーターとして最もよく知られていますが、現在は Markdown writer モジュールをサポートしています。最後に確認したとき、Mammoth Markdownのサポートはまだ初期段階にあったため、一部の機能がサポートされていないことがあります。いつものように...最新の詳細についてはウェブサイトを確認してください。

インストール

Javascriptバージョンを使用するには、 NodeJS をインストールしてから、Mammothをインストールします。

npm install -g mammoth

コマンドライン

Word文書をMarkdownに変換するコマンドライン...

mammoth document.docx --output-format=markdown

API

Markdownに変換するNodeJS API ...

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

特徴:

マンモスマークダウンライターは現在、以下をサポートしています。

  • リスト(番号と箇条書き)
  • リンク集
  • 太字、斜体などのフォントスタイル
  • 画像

MammothコマンドラインツールとAPIは、いくつかの言語に移植されました

マークダウンなし(2016年5月):

マークダウンあり:

10
Tony O'Hagan

あなたがstackoverflowでこの質問をしたことを考えると、おそらく別の答えを含めたプログラムまたはコマンドラインソリューションが必要でしょう。

ただし、別の解決策は、Microsoft Wordで Writage Markdownプラグイン を使用することです。

WritageはWordをMarkdown WYSIWYGエディターに変換するので、Markdownファイルを開いて、Microsoft Wordの文書を通常編集するのと同じように編集できます。また、他のコンバーターなしでWord文書をMarkdownファイルとして保存することもできます。

カバーの下で、Writageは Pandoc を使用します。これは、このプラグインが機能するためにもインストールする必要があります。

現在、次のMarkdown要素をサポートしています。

  • 見出し
  • リスト(番号と箇条書き)
  • リンク集
  • 太字、斜体などのフォントスタイル
  • テーブル
  • 脚注

これは、コマンドラインツールをインストールまたは実行する必要がないため、多くのエンドユーザーにとって理想的なソリューションかもしれません。

10
Tony O'Hagan

Word to Markdown (Ruby Gem)を使用して、1ステップで変換できます。変換は次のように簡単にできます。

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

LibreOfficeを介してドキュメントをルーティングしますが、相対的なフォントサイズに基づいてセマンティックな見出しを作成することも最善です。

ホストされたバージョン もあります。これは、ドラッグアンドドロップで変換するのと同じくらい簡単です。

8

変換ツールが必要な理由

素晴らしい iA Writer のようなMarkdownエディターは、「from」Markdownをdocx、html、pdfに(一度に1ファイルずつ)エクスポートできますが、単一のファイルで動作し、通常は古いファイルを変換できませんドキュメントファイルは「to」makrdown(iAライターには「制限された」機能があります)。

このためには、変換ツールが必要です!

どの変換ツールですか?

次の3つをテストしました:Pandoc / Mammoth / w2m

macOS/Linux/Cygwin Windowsユーザー、こちらをお読みください...

Windowsユーザー-以下を見て 'Writage'

パンドック

多くのテストを行った後、pandocはこのジョブに最適なツールです。

構文:pandoc -s -f docx -t gfm --wrap=preserve somedoc.docx -o somedoc.md

最初に気づかなかったのは、pandocを取得してGithub Flavored Markdown(GFM)テーブル(pandocでは「pipe_tables」と呼ばれる)をエクスポートするには、GFM pandoc形式を使用する必要があるということです。

注:MultiMarkdownは、メタデータ、目次、脚注、YAMLなどをサポートするより機能豊富な形式ですが、gfmも優れています。

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)  

NB:「to」マークダウンではなく「from」マークダウンのみをエクスポートする必要があり、一度に1ファイルずつエクスポートできる場合、WYSIWYGエディター Typora (クロスプラットフォーム)または iA Writer のように、画面の読みやすさを高めるために優れたフォントにアクセスできます。たとえば、絵文字やその他のUnicode文字を含みます。ただし、pandoc pdfは問題なく印刷されます。

Writage MS Word拡張

Writage(MS Wordの拡張機能)は、Microsoft Wordでマークダウンファイルを読み取る合理的な作業を行います。その後、.docxファイルとして保存できます。または、 Markdown Viewer for Chrome=のようなsomehtingを使用し、Wordにコピーして貼り付けます。これにより、Markdown Viewerで選択した書式設定テーマが保持されます。

書き込み-MS Word拡張

更新:

pandocのデフォルトの動作は、US Letterの用紙サイズに出力することです。これにより、私の地元の印刷会社は眉をひそめました。

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

注:pandocLaTeXテンプレートを使用してPDFそのコマンドがすぐに動作しない場合は、OSのLaTeXパッケージをインストールする必要があります。

LaTeXインストール の手順

6
Tony Barganski

Word to Markdown は一見の価値があるかもしれません、または手順は here を使用して 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
4
Tobias Kienzler

ここ から:

unoconv -f html test.docx
pandoc -f html -t markdown -o test.md test.html
3
Federico

このVisual Basicスクリプトを使用して、MS Word内からWordドキュメントをMarkdownに変換できます。

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

「コードを使用するには」の手順に従って、Wordで新しいマクロを作成します。

注:これにより、現在開いているWord文書がMarkdownに変換され、Wordのすべての書式(見出し、リストなど)が削除されます。変換する予定のWord文書を最初に保存してから、マクロを実行する前に文書を新しい文書として再度保存します。これにより、いつでも元のWord文書に戻って変更を加えることができます。

Word to markdown VBスクリプトの例はここにあります:

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

2
Dan Murphy

箇条書きリストの場合、Sublime Textにリストを貼り付けて、複数選択(テスト済み)を使用するか、検索と置換(テストなし)を使用して、たとえば独自のMS Word文字を---など

これは見出しでは機能しませんが、他の要素でも同様の手法を使用できる場合があります。

0
byronyasgur

Linuxを使用している場合は、 Pandoc を試してください(最初に.doc/.docxをLibreOfficeなどでHTMLに変換してから実行します)。

Windows(またはPandocが機能しない場合)で、このWebサイトを試すことができます(オンラインデモ、ダウンロードできます): Markdownify

0
Spotlight