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.
Заголовки корректно конвертируются в формат 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***_**
Упорядоченные списки первого уровня преобразуются без проблем, но вложенные и неупорядоченные списки преобразуются неточно.
## 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-адреса ссылок извлекаются, но вся строка, содержащая ссылку, становится гиперссылкой, отличающейся от исходного формата.
## 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

Простые таблицы без вертикальных границ преобразуются неточно (вероятно, потому, что неоднозначные границы столбцов приводят к тому, что таблицы обрабатываются как обычный текст).
## 5. Tables
**Column 1** **Column 2** **Column 3**
Row 1 Data A Data B
Row 2 Data C Data D
Блоки кода преобразуются правильно, но спецификация языка (например, Python) не сохраняется. Встроенное преобразование кода также имеет проблемы.
## 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-файле.
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. Он может работать локально без необходимости использования внешних языковых моделей, что делает его подходящим для сред, где доступ в Интернет недоступен.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3