PDF-Craft: конвертация PDF-книг после сканирования в Markdown/EPUB 124

小编 ·

PDF-Craft: конвертация PDF-книг после сканирования в Markdown/EPUB

PDF-Craft — открытый проект для работы с PDF-файлами, ориентированный на преобразование PDF-книг после сканирования в Markdown или EPUB. Распознаёт текст с помощью OCR, а алгоритмы ИИ извлекают контент, отфильтровывают колонтитулы и формируют структурированный результат. Поддерживает локальные вычисления и возможности LLM, подходит для научных статей, брошюр и длинных книг.

PDF-Craft: конвертация PDF-книг после сканирования в Markdown/EPUB

Что такое PDF-Craft?

PDF-Craft — это проект с открытым исходным кодом для работы с PDF-файлами, ориентированный на преобразование PDF-версий отсканированных книг в формат Markdown или EPUB. Он распознаёт текст с помощью технологии OCR и использует алгоритмы ai для извлечения текста, фильтрации колонтитулов и других элементов, создавая структурированный контент. Поддерживает локальные вычисления и функции с использованием LLM, подходит для преобразования формата научных статей, брошюр и объёмных книг.

PDF-Craft:一个扫描书籍PDF文件转Markdown/EPUB工具.jpg

Функциональные особенности PDF-Craft

Преобразование форматов:

  • Поддерживает преобразование PDF в формат Markdown, подходящий для статей или небольших книг.

  • Для документов объёмом более 100 страниц возможно сочетание локального OCR и облачной обработки с помощью LLM для создания EPUB с оглавлением и разбивкой по главам.

Интеллектуальное извлечение:

  • Использует DocLayout-YOLO и собственные алгоритмы для извлечения основного текста и фильтрации колонтитулов, сносок, номеров страниц и других элементов.

  • При переходе между страницами алгоритм обрабатывает связность текста на стыках.

OCR-распознавание:

  • Для распознавания текста используется OnnxOCR, поддерживается создание скриншотов иллюстраций, таблиц и формул с их непосредственной вставкой в выходной файл.

Оптимизация порядка чтения:

  • С помощью layoutreader определяется порядок, соответствующий привычкам человеческого чтения.

Поддержка LLM:

  • В процессе преобразования в EPUB LLM (например, DeepSeek) считывает информацию из примечаний и ссылок и отображает её в EPUB.

  • LLM также способна в определённой степени исправлять ошибки OCR.

Локальный запуск:

  • Поддержка ускорения на CPU и GPU, большинство операций выполняется без подключения к сети.

Сценарии применения PDF-Craft

  • Научные исследования: преобразование отсканированных научных статей в формат Markdown или EPUB для удобства редактирования и чтения.

  • Создание электронных книг: преобразование отсканированных книг в формат EPUB с генерацией электронной книги, содержащей оглавление и главы.

PDF-Craft:一个扫描书籍PDF文件转Markdown/EPUB工具.webp

Как пользоваться PDF-Craft

1. Установка: требуется Python 3.10 или выше, поддерживается ускорение с помощью CUDA.

2. Преобразование PDF в Markdown:

from pdf_craft import PDFPageExtractor, MarkDownWriter
extractor = PDFPageExtractor(device="cpu", model_dir_path="/path/to/model")
with MarkDownWriter(markdown_path, "images", "utf-8") as md:
    for block in extractor.extract(pdf="/path/to/pdf"):
        md.write(block)

3. Преобразование PDF в EPUB:

from pdf_craft import PDFPageExtractor, LLM, analyse, generate_epub_file
extractor = PDFPageExtractor(device="cpu", model_dir_path="/path/to/model")
llm = LLM(key="sk-XXXXX", url="https://api.deepseek.com", model="deepseek-chat")
analyse(llm=llm, pdf_page_extractor=extractor, pdf_path="/path/to/pdf", analysing_dir_path="/path/to/analysing", output_dir_path="/path/to/output")
generate_epub_file(from_dir_path="/path/to/output", epub_file_path="/path/to/output.epub")

Проект на GitHub: https://github.com/oomol-lab/pdf-craft