Existe-t-il un programme ou un workflow pour convertir .doc
ou .docx
fichiers vers Markdown ou texte similaire?
PS: Idéalement, j'accueillerais favorablement l'option selon laquelle une police spécifique (par exemple consolas
) dans le document MS Word sera rendue en text-code: ```....```
.
Pandoc prend en charge la conversion de docx en markdown directement:
pandoc -f docx -t markdown foo.docx -o foo.markdown
Mammoth est mieux connu comme un convertisseur Word vers HTML mais il prend désormais en charge un module Markdown writer . Lors de ma dernière vérification, le support de Mammoth Markdown était encore à ses débuts, vous pouvez donc trouver que certaines fonctionnalités ne sont pas prises en charge. Comme d'habitude ... consultez le site Web pour les derniers détails.
Pour utiliser la version Javascript ... installez NodeJS puis installez Mammoth:
npm install -g mammoth
Ligne de commande pour convertir un document Word en Markdown ...
mammoth document.docx --output-format=markdown
API NodeJS pour convertir en Markdown ...
var mammoth = require("mammoth");
mammoth.convertToMarkdown({path: "path/to/document.docx"});
L'auteur de Mammoth Markdown prend actuellement en charge:
Les outils de ligne de commande et l'API de Mammoth ont été portés sur plusieurs langues:
Avec NO Markdown (mai 2016):
Avec Markdown:
Étant donné que vous avez posé cette question sur stackoverflow, vous recherchez probablement une solution de programmation ou de ligne de commande pour laquelle j'ai inclus une autre réponse.
Cependant, une solution alternative pourrait être d'utiliser le plug-in Writage Markdown pour Microsoft Word.
Writage transforme Word en votre éditeur Markdown WYSIWYG, vous pourrez donc ouvrir un fichier Markdown et le modifier comme vous modifiez normalement n'importe quel document dans Microsoft Word. Il sera également possible d'enregistrer votre document Word en tant que fichier Markdown sans aucun autre convertisseur.
Sous les couvertures, Writage utilise Pandoc que vous devrez également installer pour que ce plugin fonctionne.
Il prend actuellement en charge les éléments Markdown suivants:
Cela pourrait être la solution idéale pour de nombreux utilisateurs finaux car ils n'auront pas besoin d'installer ou d'exécuter des outils de ligne de commande - mais préfèrent simplement s'en tenir à ce qu'ils connaissent le mieux.
Vous pouvez utiliser Word to Markdown (Ruby Gem) pour le convertir en une seule étape. La conversion peut être aussi simple que:
$ gem install Word-to-markdown
$ w2m path/to/document.docx
Il achemine le document via LibreOffice, mais il fait également mieux pour les en-têtes de sémantique en fonction de leur taille de police relative.
Il y a aussi ne version hébergée qui serait aussi simple que de glisser-déposer pour convertir.
Alors que les éditeurs de Markdown comme le merveilleux iA Writer peuvent exporter "de" Markdown vers docx, html & pdf, (un fichier à la fois), ce sont des outils interactifs qui fonctionnent sur des fichiers uniques et ne peuvent généralement pas convertir d'anciens documenter les fichiers "vers" makrdown (l'écrivain iA a ici des capacités "limitées").
Pour cela, nous avons besoin d'un outil de conversion!
J'ai testé ces trois: Pandoc / Mammoth / w2m
utilisateurs macOS/Linux/Cygwin Windows , lisez la suite ici ...
Utilisateurs Windows - regardez ci-dessous pour 'Écriture'
Après beaucoup de tests, pandoc
est de loin le meilleur outil pour le travail.
syntaxe: pandoc -s -f docx -t gfm --wrap=preserve somedoc.docx -o somedoc.md
Ce que je ne savais pas au début, c'est que pour obtenir pandoc
d'exporter des tables Github Flavored Markdown (GFM) (appelées "pipe_tables" dans pandoc), vous devez utiliser le format GFM pandoc.
REMARQUE: MultiMarkdown est le format le plus riche en fonctionnalités prenant en charge entre autres - métadonnées, table des matières, notes de bas de page, YAML - mais gfm est également génial.
-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: Si vous avez seulement besoin d'exporter "de" markdown et non "vers" markdown, et pouvez le faire un fichier à la fois, un éditeur WYSIWYG comme Typora (multiplateforme) ou iA Writer aura accès à des polices supérieures pour une meilleure lisibilité à l'écran - y compris les emoji par exemple, et d'autres caractères unicode. Mais les pandoc
pdf s'imprimeront très bien.
L'écriture (une extension MS Word) fait un travail raisonnable de lecture des fichiers de démarque dans Microsoft Word. Vous pouvez ensuite l'enregistrer en tant que .docx
fichier. Sinon, utilisez quelque chose comme Markdown Viewer pour Chrome et copiez-collez dans Word. Cela conservera le thème de mise en forme que vous avez choisi dans Markdown Viewer.
pandoc
le comportement par défaut est de produire au format papier US Letter - ce qui a poussé mon imprimeur local à hausser les sourcils.
Réparer: pandoc -s -V geometry:a4paper -o outfile.pdf infile.md
REMARQUE: pandoc
utilise LaTeX
modèles pour formater en PDF afin que vous puissiez devez installer le package LaTeX
pour votre système d'exploitation si cette commande ne fonctionne pas par défaut.
Instructions sur Installation LaTeX
Word to Markdown pourrait valoir le coup, ou la procédure décrite ici en utilisant Calibre et Pandoc via HTMLZ, voici un script bash qu'ils utilisent:
#!/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
De ici :
unoconv -f html test.docx
pandoc -f html -t markdown -o test.md test.html
Vous pouvez convertir des documents Word de MS Word en Markdown à l'aide de ce script Visual Basic:
https://Gist.github.com/hawkrives/2305254
Suivez les instructions sous "Pour utiliser le code" pour créer une nouvelle macro dans Word.
Remarque: Cela convertit le document Word actuellement ouvert en Markdown, qui supprime toute la mise en forme Word (en-têtes, listes, etc.). Enregistrez d'abord le document Word que vous prévoyez de convertir, puis enregistrez à nouveau le document en tant que nouveau document avant d'exécuter la macro. De cette façon, vous pouvez toujours revenir au document Word d'origine pour apporter des modifications.
Il y a plus d'exemples de Word à démarquer VB ici:
Pour les listes à puces, vous pouvez coller une liste dans Sublime Text et utiliser la sélection multiple (testé) ou rechercher et remplacer (non testé) pour remplacer par exemple les caractères MS Word propriétaires par -
, --
etc
Cela ne fonctionne pas avec les en-têtes mais il peut être possible d'utiliser une technique similaire avec d'autres éléments.
Si vous utilisez Linux, essayez Pandoc (convertissez d'abord .doc/.docx en html avec LibreOffice ou quelque chose, puis exécutez-le).
Sous Windows (ou si Pandoc ne fonctionne pas), vous pouvez essayer ce site Web (démo en ligne, vous pouvez le télécharger): Markdownify