«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как конвертировать PDF-файлы в Markdown с помощью PyMuPDFM и его оценки

Как конвертировать PDF-файлы в Markdown с помощью PyMuPDFM и его оценки

Опубликовано 7 ноября 2024 г.
Просматривать:948

PyMuPDF4LLM — это библиотека, предназначенная для преобразования PDF-файлов в формат Markdown. Здесь я поделюсь своим опытом тестирования этой библиотеки.

Установка

Начните с установки библиотеки с помощью следующей команды:


pip install pymupdf4llm


Использование

Основное использование довольно просто: для преобразования PDF-файла в Markdown требуется всего три строки кода:


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


Вы можете указать аргументы, чтобы настроить способ извлечения контента.

Извлечение текста по страницам

По умолчанию весь PDF-файл преобразуется в один текстовый файл. Однако вы можете извлекать текст постранично, указав page_chunks=True.


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


Извлечение изображений

Чтобы извлечь изображения в файлы, используйте параметр write_images=True:


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


Также можно вставлять изображения непосредственно в Markdown, используя кодировку base64:


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


Оценка результатов конверсии

Для тестирования использовались различные PDF-файлы с разными элементами Markdown.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation

Преобразование заголовка

Заголовки корректно конвертируются в формат Markdown. Вот часть результата:


# Sample Markdown Guide

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

## 1. Headers

...

## 3. Lists


Жирный и курсивный текст

Форматирование жирным шрифтом и курсивом также преобразуется правильно:


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

_Italic: *Italic Text*_

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


Преобразование списка

Упорядоченные списки первого уровня преобразуются без проблем, но вложенные и неупорядоченные списки преобразуются неточно.

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


Конверсия ссылок

URL-адреса ссылок извлекаются, но вся строка, содержащая ссылку, становится гиперссылкой, отличающейся от исходного формата.

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


Извлечение изображения

Изображения не извлекаются по умолчанию, но их можно сохранить локально с помощью write_images=True.


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


Сохраненные изображения затем упоминаются в Markdown следующим образом:


### Image Example

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




Преобразование таблицы

Простые таблицы без вертикальных границ преобразуются неточно (вероятно, потому, что неоднозначные границы столбцов приводят к тому, что таблицы обрабатываются как обычный текст).

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




Преобразование кода

Блоки кода преобразуются правильно, но спецификация языка (например, Python) не сохраняется. Встроенное преобразование кода также имеет проблемы.

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




Многострочный текст

Для многострочного текста разрывы строк сохраняются в том виде, в каком они есть в исходном PDF-файле.

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.




Заключение

Несмотря на проблемы с точным преобразованием списков и ссылок, PyMuPDF4LLM — полезный инструмент для преобразования PDF-файлов в Markdown. Он может работать локально без необходимости использования внешних языковых моделей, что делает его подходящим для сред, где доступ в Интернет недоступен.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/m_sea_bass/how-to-convert-pdfs-to-markdown-using-pymupdf4llm-and-its-evaluation-kg6?1 Если есть какие-либо нарушения, свяжитесь с Study_golang. @163.com удалить
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3