"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Cómo convertir archivos PDF a Markdown usando PyMuPDFM y su evaluación

Cómo convertir archivos PDF a Markdown usando PyMuPDFM y su evaluación

Publicado el 2024-11-07
Navegar:256

PyMuPDF4LLM es una biblioteca diseñada para convertir archivos PDF al formato Markdown. Aquí compartiré mi experiencia al probar esta biblioteca.

Instalación

Comience instalando la biblioteca usando el siguiente comando:


pip install pymupdf4llm


Uso

El uso básico es bastante simple y requiere solo tres líneas de código para convertir un PDF a Markdown:


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


Puedes especificar argumentos para ajustar cómo se extrae el contenido.

Extraer texto por página

De forma predeterminada, el PDF completo se convierte en una única salida de texto. Sin embargo, puede extraer texto página por página especificando page_chunks=True.


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


Extrayendo imágenes

Para extraer imágenes como archivos, use la opción write_images=True:


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


También es posible incrustar imágenes directamente en Markdown usando codificación base64:


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


Evaluación de los resultados de la conversión

Para las pruebas, se utilizaron varios archivos PDF con diferentes elementos de Markdown.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation

Conversión de encabezado

Los encabezados se convierten correctamente al formato Markdown. Aquí está una parte del resultado:


# Sample Markdown Guide

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

## 1. Headers

...

## 3. Lists


Texto en negrita y cursiva

El formato de negrita y cursiva también se convierte correctamente:


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

_Italic: *Italic Text*_

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


Conversión de lista

Las listas ordenadas en el primer nivel se convierten sin problemas, pero las listas anidadas y las listas desordenadas no se convierten con precisión.

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


Conversión de enlaces

Las URL de los enlaces se extraen, pero toda la línea que contiene el enlace se convierte en un hipervínculo, desviándose del formato original.

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/)


Extracción de imágenes

Las imágenes no se extraen de forma predeterminada, pero se pueden guardar localmente con write_images=True.


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


Las imágenes guardadas luego se hacen referencia en Markdown de la siguiente manera:


### Image Example

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




Conversión de tabla

Las tablas simples sin bordes verticales no se convierten con precisión (probablemente porque los límites de columna ambiguos hacen que las tablas se traten como texto sin formato).

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




Conversión de código

Los bloques de código se convierten correctamente, pero la especificación del idioma (por ejemplo, Python) no se conserva. La conversión de código en línea también presenta problemas.

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"))
```




Texto de varias líneas

Para texto de varias líneas, los saltos de línea se conservan tal como aparecen en el PDF original.

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.




Conclusión

A pesar de los desafíos para convertir listas y enlaces con precisión, PyMuPDF4LLM es una herramienta útil para convertir archivos PDF a Markdown. Puede funcionar localmente sin necesidad de modelos de lenguaje externos, lo que lo hace adecuado para entornos donde el acceso a Internet no está disponible.

Declaración de liberación Este artículo se reproduce en: https://dev.to/m_sea_bass/how-to-convert-pdfs-to-markdown-using-pymupdf4llm-and-its-evaluación-kg6?1 Si hay alguna infracción, comuníquese con Study_golang @163.com eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3