"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment convertir des PDF en Markdown à l'aide de PyMuPDFM et de son évaluation

Comment convertir des PDF en Markdown à l'aide de PyMuPDFM et de son évaluation

Publié le 2024-11-07
Parcourir:762

PyMuPDF4LLM est une bibliothèque conçue pour convertir des PDF au format Markdown. Ici, je vais partager mon expérience en testant cette bibliothèque.

Installation

Commencez par installer la bibliothèque à l'aide de la commande suivante :


pip install pymupdf4llm


Usage

L'utilisation de base est assez simple, ne nécessitant que trois lignes de code pour convertir un PDF en Markdown :


import pymupdf4llm
md_text = pymupdf4llm.to_markdown("input.pdf")
print(md_text)


Vous pouvez spécifier des arguments pour ajuster la façon dont le contenu est extrait.

Extraire du texte par page

Par défaut, l'intégralité du PDF est convertie en une seule sortie texte. Cependant, vous pouvez extraire le texte page par page en spécifiant page_chunks=True.


md_text = pymupdf4llm.to_markdown("input.pdf", page_chunks=True)


Extraction d'images

Pour extraire des images sous forme de fichiers, utilisez l'option write_images=True :


md_text = pymupdf4llm.to_markdown("input.pdf", write_images=True)


Il est également possible d'intégrer des images directement dans le Markdown en utilisant l'encodage base64 :


md_text = pymupdf4llm.to_markdown("input.pdf", embed_images=True)


Évaluation des résultats de conversion

Pour les tests, divers PDF avec différents éléments Markdown ont été utilisés.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation

Conversion d'en-tête

Les en-têtes sont correctement convertis au format Markdown. Voici une partie du résultat :


# Sample Markdown Guide

This is a sample markdown file that includes various features for quick reference.

## 1. Headers

...

## 3. Lists


Texte en gras et italique

Le format gras et italique est également correctement converti :


**Bold: **Bold Text****

_Italic: *Italic Text*_

**_Bold and Italic: ***Bold and Italic***_**


Conversion de liste

Les listes ordonnées du premier niveau sont converties sans problème, mais les listes imbriquées et les listes non ordonnées ne sont pas converties avec précision.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


## 3. Lists

### Unordered List

Item 1

Item 2

Sub-item 1

Sub-item 2

### Ordered List

1. First item

2. Second item

1. Sub-item A

2. Sub-item B


Conversion de lien

Les URL des liens sont extraites, mais la ligne entière contenant le lien devient un lien hypertexte, s'écartant du format d'origine.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


## 4. Links and Images

[You can add links using [Link Text](URL).](https://www.example.com/)


Extraction d'images

Les images ne sont pas extraites par défaut mais peuvent être enregistrées localement avec write_images=True.


md_text = pymupdf4llm.to_markdown("input.pdf", write_images=True)


Les images enregistrées sont ensuite référencées dans le Markdown comme suit :


### Image Example

![](input.pdf-1-0.png)




Conversion de table

Les tableaux simples sans bordures verticales ne sont pas convertis avec précision (probablement parce que les limites de colonnes ambiguës entraînent le traitement des tableaux comme du texte brut).

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


## 5. Tables

**Column 1** **Column 2** **Column 3**

Row 1 Data A Data B

Row 2 Data C Data D




Conversion de codes

Les blocs de code sont correctement convertis, mais la spécification du langage (par exemple, python) n'est pas conservée. La conversion de code en ligne présente également des problèmes.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


## 6. Code

### Inline Code

Use backticks for inline code: print("Hello, world!")

### Code Block

Use triple backticks for code blocks:

```
def greet(name):
return f"Hello, {name}!"
print(greet("Markdown"))
```




Texte multiligne

Pour le texte multiligne, les sauts de ligne sont conservés tels qu'ils apparaissent dans le PDF d'origine.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


Markdown is a lightweight and versatile markup language favored by developers, writers, and bloggers alike

due to its simplicity in formatting text, enabling users to create readable and well-structured documents—

whether for documentation, blog posts, or articles—without the complexity of HTML, while also offering the

ability to convert content seamlessly into other formats like HTML, PDF, and even slideshows, making it an

ideal choice for projects that require both clarity and flexibility in presentation.




Conclusion

Malgré les difficultés liées à la conversion précise des listes et des liens, PyMuPDF4LLM est un outil utile pour convertir des PDF en Markdown. Il peut fonctionner localement sans avoir besoin de modèles de langage externes, ce qui le rend adapté aux environnements où l'accès à Internet n'est pas disponible.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/m_sea_bass/how-to-convert-pdfs-to-markdown-using-pymupdf4llm-and-its-evaluation-kg6?1 En cas d'infraction, veuillez contacter study_golang @163.com supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3