webentwicklung-frage-antwort-db.com.de

Wie können doc / docx-Dateien in Markdown- oder strukturierten Text konvertiert werden?

Gibt es ein Programm oder einen Workflow zum Konvertieren von .doc - oder .docx - Dateien in Markdown oder ähnlichen Text?

PS: Idealerweise würde ich die Option begrüßen, dass eine bestimmte Schriftart (z. B. consolas) im MS Word-Dokument in text-code: ```....``` Gerendert wird.

54
Lorenz Lo Sauer

Pandoc unterstützt die direkte Konvertierung von docx in markdown:

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

Mammoth ist am besten als Word-zu-HTML-Konverter bekannt, unterstützt aber jetzt ein Markdown-Writer Modul. Als ich das letzte Mal nachgesehen habe, befand sich die Unterstützung für Mammoth Markdown noch in einem frühen Stadium, sodass einige Funktionen möglicherweise nicht unterstützt werden. Wie immer ... informieren Sie sich auf der Website über die neuesten Details.

Installieren

Um die Javascript-Version zu verwenden ... installiere NodeJS und installiere dann Mammoth:

npm install -g mammoth

Befehlszeile

Befehlszeile zum Konvertieren eines Word-Dokuments in Markdown ...

mammoth document.docx --output-format=markdown

API

NodeJS API zum Konvertieren in Markdown ...

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

Eigenschaften:

Mammoth Markdown Writer unterstützt derzeit:

  • Listen (nummeriert und mit Aufzählungszeichen versehen)
  • Links
  • Schriftstile wie fett und kursiv
  • Bilder

Die Mammut Kommandozeilen-Tools und API wurden auf mehrere Sprachen portiert:

Ohne Abwertung (Mai 2016):

Mit Abschrift:

10
Tony O'Hagan

Angesichts der Tatsache, dass Sie diese Frage zum Stackoverflow gestellt haben, möchten Sie wahrscheinlich eine Programm- oder Befehlszeilenlösung, für die ich eine andere Antwort beigefügt habe.

Eine alternative Lösung könnte jedoch sein, das Writage Markdown-Plugin für Microsoft Word zu verwenden.

Writage verwandelt Word in Ihren Markdown-WYSIWYG-Editor, sodass Sie eine Markdown-Datei wie gewohnt in Microsoft Word bearbeiten können. Sie können Ihr Word-Dokument auch ohne andere Konverter als Markdown-Datei speichern.

Im Hintergrund verwendet Writage Pandoc , das Sie ebenfalls installieren müssen, damit dieses Plugin funktioniert.

Derzeit werden die folgenden Markdown-Elemente unterstützt:

  • Überschriften
  • Listen (nummeriert und mit Aufzählungszeichen versehen)
  • Links
  • Schriftstile wie fett und kursiv
  • Tabellen
  • Fußnoten

Dies ist möglicherweise die ideale Lösung für viele Endbenutzer, da sie keine Befehlszeilentools installieren oder ausführen müssen, sondern sich nur an das halten, was ihnen am vertrautesten ist.

10
Tony O'Hagan

Sie können Word to Markdown (Ruby Gem) verwenden, um es in einem Schritt zu konvertieren. Die Konvertierung kann so einfach sein wie:

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

Das Dokument wird durch LibreOffice weitergeleitet, es wird jedoch auch empfohlen, Überschriften anhand ihrer relativen Schriftgröße zu sortieren.

Es gibt auch eine gehostete Version , die sich einfach per Drag & Drop konvertieren lässt.

8

Warum ein Konvertierungstool?

Markdown-Editoren wie der wunderbare iA Writer können Markdown-Dateien „von“ nach docx, html und pdf (jeweils eine Datei) exportieren. Dabei handelt es sich um interaktive Tools, die einzelne Dateien bearbeiten und in der Regel alte Dateien nicht konvertieren können Dokumentdateien nach unten verschieben (iA Writer verfügt hier über einige 'eingeschränkte' Funktionen).

Dafür brauchen wir ein Konverter-Tool!

Welches Konverter-Tool?

Ich habe diese drei getestet: Pandoc / Mammoth / w2m

Benutzer von MacOS/Linux/Cygwin Windows , lesen Sie hier weiter ...

Windows-Benutzer - siehe unten 'Writage'

Pandoc

Nach vielen Tests ist pandoc bei weitem das beste Werkzeug für diesen Job.

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

Was mir zunächst nicht klar war, ist, dass Sie das GFM-Pandoc-Format verwenden müssen, um pandoc für den Export von Github Flavored Markdown (GFM) -Tabellen (in Pandoc als "pipe_tables" bezeichnet) zu erhalten.

HINWEIS: MultiMarkdown ist das funktionsreichere Format, das unter anderem Metadaten, Inhaltsverzeichnisse, Fußnoten und YAML unterstützt. Gfm ist jedoch auch großartig.

Von Pandoc unterstützte Formate

-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: Wenn Sie nur "von" Abschriften und nicht "nach" Abschriften exportieren müssen und dies Datei für Datei tun können, verwenden Sie einen WYSIWYG-Editor wie Typora (plattformübergreifend) oder iA Writer haben Zugriff auf überlegene Schriftarten für eine bessere Lesbarkeit des Bildschirms - einschließlich Emojis zum Beispiel und anderer Unicode-Zeichen. Aber die pandoc -PDFs werden einwandfrei gedruckt.

Writage MS Word Extension

Writage (eine MS Word-Erweiterung) erledigt einen sinnvollen Job zum Lesen von Markdown-Dateien in Microsoft Word. Sie können es dann als .docx Datei. Alternativ können Sie auch Markdown Viewer für Chrome) verwenden und in Word einfügen. Dadurch bleibt das Formatierungsdesign erhalten, das Sie in Markdown Viewer ausgewählt haben.

Writage - MS Word Erweiterung

AKTUALISIEREN:

pandoc Standardmäßig wird das Papier in der Größe US Letter ausgegeben. Dadurch hat meine lokale Druckerei die Augenbrauen hochgezogen.

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

HINWEIS: pandoc verwendet LaTeX Vorlagen, um die Formatierung auf PDF zu ermöglichen muss das LaTeX -Paket für Ihr Betriebssystem installieren, wenn dieser Befehl nicht sofort funktioniert.

Anweisungen unter LaTeX-Installation

6
Tony Barganski

Word to Markdown ist möglicherweise einen Versuch wert, oder die beschriebene Vorgehensweise hier mit Calibre und Pandoc über HTMLZ, hier Ein Bash-Skript, das sie verwenden:

#!/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

Von hier :

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

Mit diesem Visual Basic-Skript können Sie Word-Dokumente aus MS Word in Markdown konvertieren:

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

Folgen Sie den Anweisungen unter "So verwenden Sie den Code", um ein neues Makro in Word zu erstellen.

Hinweis: Dadurch wird das aktuell geöffnete Word-Dokument in Markdown konvertiert, wodurch alle Word-Formatierungen (Überschriften, Listen usw.) entfernt werden. Speichern Sie zuerst das Word-Dokument, das Sie konvertieren möchten, und speichern Sie das Dokument dann erneut als neues Dokument, bevor Sie den Makro ausführen. Auf diese Weise können Sie jederzeit zum ursprünglichen Word-Dokument zurückkehren, um Änderungen vorzunehmen.

Hier finden Sie weitere Beispiele für Word-Skripte, mit denen Sie VB) markieren können:

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

2
Dan Murphy

Bei Listen mit Aufzählungszeichen können Sie eine Liste in Sublime Text einfügen und Multiselect (getestet) oder Suchen und Ersetzen (nicht getestet) verwenden, um z. B. die proprietären MS Word-Zeichen durch -, -- Usw. zu ersetzen

Dies funktioniert nicht mit Überschriften, es kann jedoch möglich sein, eine ähnliche Technik mit anderen Elementen zu verwenden.

0
byronyasgur

Wenn Sie Linux verwenden, versuchen Sie Pandoc (konvertieren Sie zuerst .doc/.docx mit LibreOffice oder so etwas in HTML und führen Sie es dann aus).

Unter Windows (oder wenn Pandoc nicht funktioniert) können Sie diese Website testen (Online-Demo, Sie können sie herunterladen): Markdownify

0
Spotlight