PyMuPDF4LLM es una biblioteca diseñada para convertir archivos PDF al formato Markdown. Aquí compartiré mi experiencia al probar esta biblioteca.
Comience instalando la biblioteca usando el siguiente comando:
pip install pymupdf4llm
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.
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)
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)
Para las pruebas, se utilizaron varios archivos PDF con diferentes elementos de Markdown.
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
El formato de negrita y cursiva también se convierte correctamente:
**Bold: **Bold Text**** _Italic: *Italic Text*_ **_Bold and Italic: ***Bold and Italic***_**
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.
## 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
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.
## 4. Links and Images [You can add links using [Link Text](URL).](https://www.example.com/)
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)
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).
## 5. Tables
**Column 1** **Column 2** **Column 3**
Row 1 Data A Data B
Row 2 Data C Data D
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.
## 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"))
```
Para texto de varias líneas, los saltos de línea se conservan tal como aparecen en el PDF original.
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.
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.
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