web-dev-qa-db-fra.com

Comment convertir les fichiers doc / docx en markdown ou en texte structuré?

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: ```....```.

54
Lorenz Lo Sauer

Pandoc prend en charge la conversion de docx en markdown directement:

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

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.

Installer

Pour utiliser la version Javascript ... installez NodeJS puis installez Mammoth:

npm install -g mammoth

Ligne de commande

Ligne de commande pour convertir un document Word en Markdown ...

mammoth document.docx --output-format=markdown

API

API NodeJS pour convertir en Markdown ...

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

Fonctionnalités:

L'auteur de Mammoth Markdown prend actuellement en charge:

  • Listes (numérotées et à puces)
  • Liens
  • Styles de police tels que gras, italique
  • Images

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:

10
Tony O'Hagan

É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:

  • Rubriques
  • Listes (numérotées et à puces)
  • Liens
  • Styles de police tels que gras, italique
  • Les tables
  • Notes de bas de page

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.

10
Tony O'Hagan

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.

8
Benjamin J. Balter

Pourquoi un outil de conversion?

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!

Quel 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'

Pandoc

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.

Formats pris en charge par 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: 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.

Extension MS Word en écriture

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.

Écriture - extension MS Word

MISE À JOUR:

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

6
Tony Barganski

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
4
Tobias Kienzler

De ici :

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

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:

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

2
Dan Murphy

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.

0
byronyasgur

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

0
Spotlight