- Publié le
Avez-vous déjà voulu convertir vos documents en Markdown ? Évaluation de MarkItDown avec des cas pratiques

Cet article évalue MarkItDown, un outil open-source de Microsoft conçu pour faciliter la conversion de contenu en format Markdown. Des PDFs aux fichiers Excel, en passant par les images, MarkItDown permet aux utilisateurs de rationaliser leurs flux de travail grâce à son interface intuitive et ses fonctionnalités robustes. Que vous soyez développeur, créateur de contenu ou chercheur, ce guide démontrera ses applications pratiques à travers des exemples concrets.
Découvrez-en plus sur les outils Markdown dans mon article de blog ici.
Introduction à MarkItDown
MarkItDown est un outil en ligne de commande conçu pour convertir divers formats de contenu en Markdown. Sa flexibilité et sa facilité d'utilisation en font un atout indispensable pour ceux qui travaillent fréquemment avec de la documentation en Markdown. Prenant en charge des formats comme les PDFs, les feuilles Excel et les images, MarkItDown garantit que la conversion de contenu en fichiers Markdown structurés est à la fois simple et efficace.
Instructions d'installation
La configuration de MarkItDown est rapide et sans tracas. Suivez ces étapes pour commencer :
- Créez un environnement virtuel Python et activez-le :
python3 -m venv venv
source venv/bin/activate
- Installez MarkItDown avec pip :
pip install markitdown
Pour des instructions plus détaillées, consultez la page GitHub officielle.
Cas pratiques pour MarkItDown
Voici des exemples pratiques montrant comment tirer parti de MarkItDown pour convertir différents types de contenu en Markdown. Ces exemples mettent en lumière les capacités et la flexibilité de l'outil.
Cas 1 : Conversion d'un fichier PDF en Markdown
Le premier cas pratique montre la conversion d'un PDF de spécifications NVIDIA en format Markdown. Vous pouvez télécharger le PDF ici. Exécutez la commande suivante pour y parvenir :
markitdown data/jetson-orin-datasheet-nano-developer-kit-3575392-r2.pdf > data/jetson-orin-datasheet-nano-developer-kit-3575392-r2.md
En utilisant les capacités en ligne de commande de MarkItDown, le PDF sera converti en un fichier Markdown bien structuré. Voici une représentation visuelle du PDF original et du fichier Markdown converti.

Figure 1 : PDF original des spécifications NVIDIA.

Figure 2 : Fichier Markdown converti à partir du PDF des spécifications NVIDIA.
Cas 2 : Conversion d'un fichier Excel en Markdown
Le deuxième cas pratique implique la conversion d'une feuille Excel détaillant les fonctionnalités des LLM en format Markdown. Exécutez la commande suivante pour effectuer la conversion :
markitdown data/LLM_Models_Info.xlsx > data/LLM_Models_Info.md
La capacité de MarkItDown à gérer des données tabulaires garantit que la sortie conserve sa structure et sa lisibilité. Voici les visuels du fichier Excel original et du fichier Markdown converti.

Figure 3 : Fichier Excel original avec les fonctionnalités des LLM.

Figure 4 : Fichier Markdown converti à partir de la feuille Excel.
Cas 3 : Conversion d'un fichier Word en Markdown
Le troisième cas pratique implique la conversion d'un document Word détaillant les fonctionnalités des LLM avec une table des matières en format Markdown. Exécutez la commande suivante pour effectuer la conversion :
markitdown data/LLMs_features_with_TOC.docx > data/LLMs_features_with_TOC.md
La capacité de MarkItDown à gérer du texte structuré garantit que la sortie conserve sa mise en forme, y compris la table des matières et les titres imbriqués, rendant le contenu hautement lisible et organisé. Voici les visuels du fichier Word original et du fichier Markdown converti.

Figure 5 : Fichier Word original avec les fonctionnalités des LLM et une table des matières.

Figure 6 : Fichier Markdown converti à partir du document Word avec table des matières et titres imbriqués.
Cas 4 : Extraction de texte à partir d'une image
MarkItDown prend également en charge l'extraction de texte à partir d'images. Pour ce cas, nous utiliserons le PDF des spécifications NVIDIA rendu sous forme d'image pour comparer le texte extrait avec l'original.
Pour améliorer cette fonctionnalité, nous utiliserons le modèle GPT-4o d'OpenAI via l'API OpenAI, en exploitant un script pour l'extraction de texte. Le script traite l'image et génère un contenu Markdown.
Remarque : Vous devez disposer d'une clé API OpenAI pour utiliser cette fonctionnalité. Assurez-vous d'avoir configuré votre clé API OpenAI dans votre environnement avant d'exécuter le script.
Le script suivant est utilisé en suivant l'exemple de script dans le dépôt GitHub de MarkItDown.
"""
Script: convert_image_to_text.py
Description:
This script converts the text content from an input image file to plain text using the MarkItDown library and OpenAI's GPT-4o model. The input image file and the output text file are specified as command-line arguments.
Usage:
python convert_image_to_text.py <input_image> <output_file>
Arguments:
<input_image>: Path to the image file to be processed.
<output_file>: Path to the file where the extracted text will be saved.
Dependencies:
- markitdown
- openai
- Python 3.x
Example:
python convert_image_to_text.py example.jpg output.txt
"""
import sys
from markitdown import MarkItDown
from openai import OpenAI
# Ensure command-line arguments are provided
if len(sys.argv) != 3:
print("Usage: python script.py <input_image> <output_file>")
sys.exit(1)
input_image = sys.argv[1] # Input image file
output_file = sys.argv[2] # Output text file
# Initialize the LLM client and MarkItDown
client = OpenAI()
md = MarkItDown(llm_client=client, llm_model="gpt-4o")
try:
# Convert the image to text
result = md.convert(input_image)
# Write the result to the output file
with open(output_file, "w", encoding="utf-8") as f:
f.write(result.text_content)
print(f"Conversion successful. Output written to {output_file}")
except Exception as e:
print(f"Error: {e}")
Exécutez la commande suivante pour effectuer la conversion :
python convert_image_to_text.py data/jetson-orin-datasheet-nano-developer-kit-3575392-r2.png data/jetson-orin-datasheet-nano-developer-kit-3575392-r2_jpg.md
Voici les visuels de l'image originale et du contenu Markdown extrait.

Figure 7 : Image rendue à partir du PDF des spécifications NVIDIA.

Figure 8 : Contenu Markdown extrait de l'image.
Découvrez la puissance de MarkItDown dès aujourd'hui !
- Avantage Open Source : La nature open-source de MarkItDown garantit son accessibilité et des améliorations continues pilotées par la communauté.
- Polyvalence à travers les formats : Que ce soit des PDFs, des feuilles Excel ou des images, MarkItDown simplifie le processus de conversion tout en préservant l'intégrité du contenu original.
- Amélioré par l'IA : Combiner MarkItDown avec des outils d'IA comme GPT-4o d'OpenAI débloque des fonctionnalités supplémentaires, comme l'extraction précise de texte à partir d'images.
- Efficace et convivial : Son interface en ligne de commande garantit une utilisation simple pour les utilisateurs techniques et non techniques.
- Installation facile : La configuration de MarkItDown est rapide et sans tracas, la rendant accessible aux utilisateurs de tous niveaux.
- Résultats satisfaisants : Dans les cas démontrés dans ce tutoriel, MarkItDown a produit de manière constante des fichiers Markdown précis et bien formatés, préservant la structure et la lisibilité du contenu original, y compris les sections, les titres et les tables des matières.
Découvrez la puissance de MarkItDown et intégrez-le dans vos flux de travail de conversion de contenu dès aujourd'hui !
Découvrez d'autres tutoriels sur mon blog
Si vous avez trouvé ce tutoriel utile, vous pourriez apprécier ceux-ci également :
- Un tutoriel étape par étape pour installer et utiliser aider, un outil de codage alimenté par l'IA
- Le codage alimenté par l'IA simplifié : Installation et cas pratiques de Continue dans VS Code avec Codestral
- Interagissez avec votre terminal en langage naturel : Une démonstration simple pour installer et utiliser l'outil Warp Terminal
- Open Interpreter pour l'administration système : Simplifiez et automatisez
Vous avez apprécié cet article ? Vous l'avez trouvé utile ? N'hésitez pas à laisser un commentaire ci-dessous pour partager vos réflexions ou poser des questions. Un compte GitHub est requis pour participer à la discussion.