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.
Commencez par installer la bibliothèque à l'aide de la commande suivante :
pip install pymupdf4llm
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.
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)
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)
Pour les tests, divers PDF avec différents éléments Markdown ont été utilisés.
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
Le format gras et italique est également correctement converti :
**Bold: **Bold Text**** _Italic: *Italic Text*_ **_Bold and Italic: ***Bold and Italic***_**
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.
## 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
Les URL des liens sont extraites, mais la ligne entière contenant le lien devient un lien hypertexte, s'écartant du format d'origine.
## 4. Links and Images [You can add links using [Link Text](URL).](https://www.example.com/)
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)
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).
## 5. Tables
**Column 1** **Column 2** **Column 3**
Row 1 Data A Data B
Row 2 Data C Data D
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.
## 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"))
```
Pour le texte multiligne, les sauts de ligne sont conservés tels qu'ils apparaissent dans le PDF d'origine.
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.
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.
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