Об этом проекте

BabelDOC — это инструмент для перевода документов с открытым исходным кодом, предназначенный для перевода PDF-файлов с сохранением исходной вёрстки, форматирования и структуры. Он построен как система на основе плагинов, которую можно встраивать в другие программы или использовать напрямую через интерфейс командной строки (CLI) для простых задач перевода. ## Ключевые особенности - **Сохранение вёрстки**: Переводит PDF, сохраняя исходную структуру документа, включая текстовые блоки, формулы, таблицы и порядок чтения - **Двуязычный вывод**: Может создавать как двуязычные (двойные) PDF-файлы с оригинальными и переведёнными страницами рядом или чередующимися, так и одноязычные переведённые PDF - **Несколько бэкендов перевода**: Поддерживает любой OpenAI-совместимый API endpoint, включая локальные модели, такие как Ollama, с настраиваемым базовым URL, ключом API и выбором модели - **Поддержка глоссариев**: Глоссарии на основе CSV для обеспечения согласованного перевода терминологии, с возможностью указания целевого языка для каждой записи - **Управление офлайн-ресурсами**: Генерация и восстановление пакетов офлайн-ресурсов для сред без подключения к интернету, с проверкой хеша SHA3-256 - **Продвинутая обработка PDF**: OCR для отсканированных документов, автоматическое определение вёрстки, распознавание формул и обработка сложных элементов, таких как водяные знаки и декоративные линии - **Плагинная архитектура**: Расширяемый конвейер, поддерживающий пользовательские модели, OCR-движки и рендереры ## Установка и использование BabelDOC можно установить из исходного кода с помощью `uv` и использовать через CLI. Пример базового использования: ```bash babeldoc --openai --openai-model "gpt-4o-mini" --openai-base-url "https://api.openai.com/v1" --openai-api-key "ваш-api-ключ-здесь" --files example.pdf ``` Конфигурация может быть задана через параметры командной строки или файл конфигурации (формат TOML). Инструмент поддерживает различные параметры для контроля качества перевода, формата вывода, выбора страниц, обработки водяных знаков и многого другого. ## Python API BabelDOC предоставляет Python API для программного использования, хотя все API считаются внутренними, и прямое использование официально не поддерживается. API совместим с pdf2zh_next, что позволяет интегрировать его в существующие рабочие процессы. ## Варианты использования - Перевод академических статей, исследовательских документов и технических руководств - Создание двуязычных версий документов для изучения языков - Пакетный перевод PDF-файлов с согласованной терминологией - Интеграция в системы управления документами или рабочие процессы перевода ## Связанные проекты BabelDOC является частью более широкой экосистемы инструментов обработки документов, включая средства чтения вёрстки, OCR-системы и сервисы перевода. Он предназначен для работы с такими инструментами, как PDFMathTranslate, для сценариев самостоятельного развёртывания, и интегрируется с плагинами Zotero для автоматизации исследовательских рабочих процессов.