pandoc ligne de commande word markdown tutorial

Pandoc Word à Markdown: Guide de conversion de ligne de commande

Comment utiliser Pandoc pour convertir des documents Word en Markdown sur la ligne de commande. Inclut l'installation, les commandes de base, la personnalisation de sortie et la comparaison avec les outils du navigateur.

W
WordToMD Équipe
·

Pandoc est l'outil de conversion de documents le plus puissant disponible. Il convertit entre des dizaines de formats, y compris .docx à Markdown, et vous donne un contrôle fin sur la sortie. Ce guide couvre tout ce dont vous avez besoin pour utiliser Pandoc pour Word à Markdown conversion.

Qu'est-ce que le P_A?

Pandoc est un outil de ligne de commande libre et open-source qui convertit des documents entre formats. Il prend en charge plus de 40 formats d'entrée et de sortie. Pour la conversion Word à Markdown, Pandoc est la norme d'or plus configurable que tout outil basé sur un navigateur, y compris WordToMD.

Quand utiliser le Pandoc contre le Pandoc Il y a eu un problème.

Le scénarioPandocWordToMD
Conversion ponctuelleRequiert une installation✅ Instantané, basé sur le navigateur
Conversion par lots✅ Écrivez-leUn dossier à la fois
Format de sortie personnalisé✅ Une large gamme d'optionsuniquement GFM standard
Documents sensibles à la vie privée✅ Traitement local✅ Seul le navigateur, pas de téléchargement
Aucune expérience en phase terminaleConnaissances requises sur les CLI✅ Faire glisser et déposer
Pipeline CI/CD✅ AutomatiséNe peut pas être automatisé

Installation de Pandoc

Les fenêtres

Télécharger le programme d'installation à partir de pandoc.org/installation.html, ou utilisez un gestionnaire de paquets:

# Winget
winget install pandoc

# Chocolatey
choco install pandoc

# Scoop
scoop install pandoc

le système macOS

# Homebrew
brew install pandoc

# MacPorts
sudo port install pandoc

Le système Linux

# Ubuntu/Debian
sudo apt-get install pandoc

# Fedora
sudo dnf install pandoc

# Arch
sudo pacman -S pandoc

Vérifier l'installation:

pandoc --version

Commande de conversion de base

pandoc document.docx -o output.md

C'est tout. Pandoc infère le format d'entrée de .docx et le format de sortie de .md.

Une version plus explicite:

pandoc -f docx -t markdown document.docx -o output.md

Options de format de sortie

Pandoc offre plusieurs variantes Markdown comme sortie:

# GitHub Flavored Markdown (GFM)
pandoc document.docx -t gfm -o output.md

# CommonMark
pandoc document.docx -t commonmark -o output.md

# Pandoc's extended Markdown (most features)
pandoc document.docx -t markdown -o output.md

# Standard Markdown (basic)
pandoc document.docx -t markdown_strict -o output.md

GFM est recommandé pour la plupart des cas d'utilisation (GitHub, Obsidian, GitBook, Notion).

Options de conversion utiles

Extrait de fichiers multimédias

Les images intégrées dans .docx sont extraites dans un répertoire:

pandoc document.docx --extract-media=./media -o output.md

Cela enregistre les images à ./media/ et ajoute des références d'image Markdown à la sortie.

Des lignes d'emballage

L'emballage de la ligne de commande dans la sortie:

# No wrapping (one paragraph = one line)
pandoc document.docx --wrap=none -o output.md

# Wrap at 80 characters
pandoc document.docx --wrap=auto --columns=80 -o output.md

--wrap=none est recommandé pour Markdown qui sera contrôlé par version il produit des diffs Git plus propres.

Tableau du contenu

pandoc document.docx --toc -o output.md

Document indépendant avec métadonnées

pandoc document.docx -s -o output.md

Le -s Le drapeau (autonome) génère le frontmatter YAML à partir des métadonnées du document.

Conversion par lots

Convertir tous les fichiers .docx dans un répertoire:

Le système d'exploitation Windows

Get-ChildItem -Filter "*.docx" | ForEach-Object {
    $output = [System.IO.Path]::ChangeExtension($_.Name, ".md")
    pandoc $_.FullName -t gfm --wrap=none -o $output
    Write-Host "Converted: $($_.Name) → $output"
}

Le système d'exploitation de la base de données

for file in *.docx; do
    output="${file%.docx}.md"
    pandoc "$file" -t gfm --wrap=none -o "$output"
    echo "Converted: $file → $output"
done

Pour plus d'options de conversion par lots, voir Conversion par lots de Word à Markdown.

Personnaliser la sortie avec des filtres Lua

Pandoc prend en charge les filtres Lua qui transforment le document AST pendant la conversion:

pandoc document.docx --lua-filter=my-filter.lua -o output.md

Exemple de filtre Lua pour ajouter un bloc personnalisé:

-- add-frontmatter.lua
function Meta(meta)
  meta.draft = false
  meta.author = "WordToMD Team"
  return meta
end

C'est le genre de personnalisation que les outils de navigateur ne peuvent pas correspondre.

Comparaison de la production de Pandoc et de celle du mammouth.js

WordToMD Il utilise le mammouth sous le capot. Pandoc utilise son propre analyseur. Principales différences:

CaractéristiquesPandocmammouth.js (WordToMD)
Extrait d'image✅ --extract-media️ Noté dans les notes de conversion
Des styles personnalisés✅ Par référence doc️ enregistré en tant qu'avertissement
Équations mathématiques✅ MathML → LaTeXNe sont pas pris en charge
Changement de piste✅ Il est configurabledépouillés
Notes de bas de page✅ Préservé️ Uniquement en ligne
Commentaires✅ Facultatifdépouillés

Pour les documents complexes, Pandoc donne une sortie plus complète. Pour les documents simples, WordToMD est plus rapide avec une configuration nulle.

Pandoc Fichiers par défaut

Pour les conversions répétées avec les mêmes paramètres, créer un fichier par défaut:

# my-defaults.yaml
from: docx
to: gfm
wrap: none
extract-media: ./media
standalone: true

Alors courez:

pandoc document.docx -d my-defaults.yaml -o output.md

Utilisation de Pandoc dans le CI/CD

Pour les pipelines automatisés (GitHub actions, etc.):

# .github/workflows/convert-docs.yml
- name: Install Pandoc
  run: sudo apt-get install pandoc

- name: Convert Word docs to Markdown
  run: |
    for f in docs/*.docx; do
      pandoc "$f" -t gfm --wrap=none -o "${f%.docx}.md"
    done

FAQ

Pandoc résultats \ Les continuations de ligne dans mon Markdown. Comment les enlever ? Ajouter --wrap=none Pour désactiver l'enveloppe de ligne dure.

Mes tables semblent déformées en Pandoc sortie. Je vais essayer . -t gfm pour la syntaxe de table GFM au lieu des tables Pandoc Markdown par défaut.

Les images ne s'affichent pas dans la sortie. Ajouter --extract-media=./images pour extraire des images intégrées. Ensuite, référez-les correctement dans votre environnement cible.

Pandoc convertit les citations intelligentes en " Comment les garder ? Ajouter --no-highlight ou modifier le modèle. Pour les devis intelligents en particulier, ils devraient être conservés par défaut dans la plupart des formats de sortie.

Comment Pandoc et WordToMD se comparent pour DOCX à Markdown ? Les deux fonctionnent bien pour les documents standard. WordToMD nécessite une configuration nulle et produit une sortie GFM propre. Pandoc nécessite une installation mais gère plus complètement des documents complexes (images, mathématiques, commentaires, notes de bas de page).

Conclusion de l'enquête

Pandoc est l'outil le plus performant pour Word vers Markdown conversion, en particulier pour le traitement par lots, les formats de sortie personnalisés et les pipelines CI/CD. Pour des conversions rapides et ponctuelles sans installation, WordToMD fait le travail instantanément. Les deux outils se complètent bien.