"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como converter PDFs em Markdown usando PyMuPDFM e sua avaliação

Como converter PDFs em Markdown usando PyMuPDFM e sua avaliação

Publicado em 2024-11-07
Navegar:290

PyMuPDF4LLM é uma biblioteca projetada para converter PDFs no formato Markdown. Aqui, compartilharei minha experiência testando esta biblioteca.

Instalação

Comece instalando a biblioteca usando o seguinte comando:


pip install pymupdf4llm


Uso

O uso básico é bastante simples, exigindo apenas três linhas de código para converter um PDF em Markdown:


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


Você pode especificar argumentos para ajustar como o conteúdo é extraído.

Extraindo texto por página

Por padrão, todo o PDF é convertido em uma única saída de texto. No entanto, você pode extrair texto página por página especificando page_chunks=True.


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


Extraindo Imagens

Para extrair imagens como arquivos, use a opção write_images=True:


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


Também é possível incorporar imagens diretamente no Markdown usando codificação base64:


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


Avaliação dos resultados da conversão

Para testes, vários PDFs com diferentes elementos Markdown foram usados.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation

Conversão de cabeçalho

Os cabeçalhos são convertidos corretamente no formato Markdown. Aqui está uma parte do resultado:


# Sample Markdown Guide

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

## 1. Headers

...

## 3. Lists


Texto em negrito e itálico

A formatação em negrito e itálico também é convertida corretamente:


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

_Italic: *Italic Text*_

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


Conversão de lista

As listas ordenadas no primeiro nível são convertidas sem problemas, mas as listas aninhadas e as listas não ordenadas não são convertidas com precisão.

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


Conversão de links

As URLs dos links são extraídas, mas toda a linha que contém o link se torna um hiperlink, desviando-se do 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/)


Extração de imagem

As imagens não são extraídas por padrão, mas podem ser salvas localmente com write_images=True.


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


As imagens salvas são então referenciadas no Markdown da seguinte forma:


### Image Example

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




Conversão de tabela

Tabelas simples sem bordas verticais não são convertidas com precisão (provavelmente porque limites de colunas ambíguos fazem com que as tabelas sejam tratadas como texto simples).

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




Conversão de código

Os blocos de código são convertidos corretamente, mas a especificação da linguagem (por exemplo, python) não é mantida. A conversão de código embutido também apresenta 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 multilinha

Para texto com várias linhas, as quebras de linha são preservadas conforme aparecem no 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.




Conclusão

Apesar dos desafios na conversão precisa de listas e links, PyMuPDF4LLM é uma ferramenta útil para converter PDFs em Markdown. Pode funcionar localmente sem a necessidade de modelos de linguagem externos, tornando-o adequado para ambientes onde o acesso à Internet não está disponível.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/m_sea_bass/how-to-convert-pdfs-to-markdown-using-pymupdf4llm-and-its-evaluation-kg6?1 Se houver alguma violação, entre em contato com study_golang @163.com excluir
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3