English | 中文 | 日本語 | Русский | العربية | فارسی
Настольное приложение для конвертации PDF-документов в формат Markdown с использованием визуального распознавания на основе больших языковых моделей (LLM).
- Поддержка нескольких LLM: OpenAI, Anthropic Claude, Google Gemini, Ollama (локальные модели) и OpenAI Responses API
- Высококачественная конвертация: Использование возможностей компьютерного зрения LLM для точного преобразования PDF в Markdown
- Параллельный просмотр: Просмотр оригинальных страниц PDF рядом с сгенерированным Markdown
- Поддержка формул и кода: Полная поддержка LaTeX-уравнений (KaTeX) и блоков кода с подсветкой синтаксиса
- Многоязычный интерфейс: Английский, китайский, японский, русский, арабский и персидский
- Параллельная обработка: Настраиваемое количество рабочих процессов для ускорения конвертации
- Отслеживание прогресса: Обновление статуса в реальном времени и поддержка повторной обработки отдельных страниц
- Локальное хранилище: База данных SQLite для сохранения задач
Запуск напрямую через npx (требуется Node.js 18+):
npx -y markpdfdownСкачайте последнюю версию для вашей платформы со страницы Releases:
- Windows:
MarkPDFdown-{version}-x64.exe - macOS:
MarkPDFdown-{version}-arm64.dmg/MarkPDFdown-{version}-x64.dmg - Linux:
MarkPDFdown-{version}-x86_64.AppImage
- Настройка провайдера: Перейдите в Настройки и добавьте учётные данные LLM-провайдера (API-ключ, базовый URL)
- Добавление модели: Настройте модель, которую хотите использовать для конвертации
- Загрузка PDF: Перетащите или нажмите для выбора PDF-файла
- Выбор модели: Выберите LLM-модель для конвертации
- Конвертация: Запустите процесс конвертации
- Просмотр: Просматривайте результаты постранично с параллельным сравнением
- Скачивание: Экспортируйте объединённый Markdown-файл
- Node.js 18+
- npm 8+
# Установка зависимостей
npm install
# Генерация Prisma-клиента
npm run generate
# Запуск миграций базы данных
npm run migrate:dev
# Запуск сервера разработки
npm run dev# Продакшн-сборка
npm run build
# Установщики для конкретных платформ
npm run build:win # Windows NSIS установщик
npm run build:mac # macOS DMG
npm run build:linux # Linux AppImagenpm test # Запуск всех тестов
npm run test:unit # Только юнит-тесты
npm run test:renderer # Только тесты компонентов
npm run test:coverage # Генерация отчёта о покрытииsrc/
├── main/ # Главный процесс Electron
│ ├── index.ts # Точка входа, создание окна, настройка IPC
│ └── ipc/ # Обработчики IPC
├── preload/ # Preload-скрипты (window.api)
├── renderer/ # React-фронтенд
│ ├── components/ # UI-компоненты
│ ├── pages/ # Страницы маршрутов
│ └── locales/ # i18n-переводы
├── core/ # Бизнес-логика (Чистая архитектура)
│ ├── infrastructure/ # База данных, внешние сервисы
│ ├── application/ # Воркеры, оркестрация
│ ├── domain/ # Интерфейсы, доменные типы
│ └── shared/ # Шина событий, утилиты
└── shared/ # Общие типы между main/renderer- Фреймворк: Electron 35 + React 18 + TypeScript
- Инструмент сборки: Vite 6
- UI: Ant Design 5
- База данных: Prisma ORM + SQLite
- Обработка PDF: pdf-lib, pdf-to-png-converter, Sharp
- Markdown: react-markdown, remark-gfm, remark-math, rehype-katex, rehype-prism-plus
- Тестирование: Vitest + Testing Library
| Провайдер | Модели | Примечания |
|---|---|---|
| OpenAI | GPT-4o, GPT-4-turbo и др. | Требуется API-ключ |
| Anthropic | Claude 3.5, Claude 3 и др. | Требуется API-ключ |
| Google Gemini | Gemini Pro, Gemini Flash и др. | Требуется API-ключ |
| Ollama | LLaVA, Llama 3.2 Vision и др. | Локально, без API-ключа |
| OpenAI Responses | Любая OpenAI-совместимая модель | Поддержка пользовательских эндпоинтов |
Приветствуются вклады в проект! Пожалуйста, прочитайте файл AGENTS.md для ознакомления с руководством по разработке.