Масштабная конвертация без ручного труда
Новая версия PDF2MD (v1.3) решает главную проблему работы с бумажными архивами — необходимость ручной распаковки и сортировки. Утилита теперь «на лету» обрабатывает вложенные ZIP, RAR и 7z архивы, а также многостраничные TIFF-файлы, которые ранее игнорировались. Программа рекурсивно проходит по папкам, игнорируя системный мусор (Thumbs.db, __MACOSX) и символические ссылки, что предотвращает случайную подгрузку чужих файлов.
Для цифровых PDF-файлов OCR не требуется — текст извлекается напрямую из слоя документа, что экономит квоты API. Для сканов и изображений (JPG/PNG/WEBP) используются облачные модели LlamaParse, Google Gemini, Mistral OCR или GLM-OCR. На Windows приложение работает как standalone .exe без установки Python, на Linux/macOS — через скрипты с автоустановкой зависимостей.
Система контроля качества: как найти ошибки OCR
Главное отличие PDF2MD от простых конвертеров — встроенный аудит результата. Программа не просто выдает Markdown, но и генерирует отчет report.md, где помечает документы с признаками «мусора» (пустые страницы, символы [неразборчиво], потерянные листы). Ключевая фича v1.3 — возможность перекрестной проверки (cross-check): если один движок выдает сомнительный результат, второй OCR-движок анализирует тот же файл, и разница выводится в виде диффов.
| Источник документа | Метод обработки | Проверка страниц | Примечание |
|---|---|---|---|
| Цифровой PDF | Извлечение текста (без OCR) | Надежно | Нет затрат квот API |
| Сканы (PDF/TIFF) | OCR (LlamaParse/Gemini/Mistral/GLM) | Надежно (для Mistral/Gemini) | TIFF конвертируется в PDF перед OCR |
| Word/Excel/EPUB | MarkItDown (без OCR) | Не применимо | Текстовые форматы |
| Изображения | OCR + предобработка (поворот/контраст) | Не применимо | Автоматическая коррекция |
Поиск по документам с цитированием источников
После конвертации Markdown-файлы разбиваются на чанки и индексируются локально с помощью векторной модели gemini-embedding-001. Во вкладке Search пользователь может задавать вопросы на естественном языке. Ответы генерируются либо через облачный Gemini, либо локально через Ollama, но всегда базируются только на извлеченных чанках с указанием конкретных источников (страниц/файлов). Это минимизирует галлюцинации ИИ при работе с документацией.
Технические детали и безопасность
Ключи API сохраняются в config.json (Windows: %APPDATA%\pdf2md\, Linux/macOS: ~/pdf2md/). Google Gemini использует заголовок x-goog-api-key, исключая попадание ключа в логи. Mistral автоматически удаляет загруженные PDF после распознавания. Для работы с RAR/7z на Linux/macOS требуется установка 7-Zip или p7zip-full. Версия 1.2 уже исправила проблему обрезки ответов Gemini по лимиту токенов, разбивая большие PDF на части для полного распознавания.
Источник: Github ↗
