Введение
Translate PDF Online — архитектура, возможности, безопасность и соответствие открытому ПО.
Что такое Translate PDF Online?
Translate PDF Online — веб-сервис для перевода PDF-документов с сохранением вёрстки, рисунков и таблиц, насколько это возможно. Рассчитан на академические и профессиональные PDF на английском, китайском (упрощённом), испанском, французском, итальянском, греческом, японском, корейском, немецком, русском и других языковых парах. Удобен для перевода англоязычных статей, диссертаций и договоров на русский язык с сохранением исходной вёрстки — всё прямо в браузере, без установки программ.
- Сайт: www.translatepdfonline.com
- Контакт: hello@translatepdfonline.com
Открытый код и благодарности
Наш конвейер перевода опирается на открытый код сообщества, в частности zotero-pdf2zh и экосистему pdf2zh / BabelDOC для перевода PDF с учётом вёрстки.
Рекомендуем изучить upstream-проект для деталей реализации и условий лицензии.
Соответствие AGPL-3.0
Компоненты, производные от pdf2zh (AGPL-3.0), могут требовать, чтобы пользователи, взаимодействующие с сервисом по сети, могли получить соответствующий исходный код для частей под AGPL, либо чтобы проект иным образом выполнял обязательства AGPL.
Доступ к исходникам: референсная реализация: github.com/guaguastandup/zotero-pdf2zh. Вопросы о предложении исходников для нашего развёртывания: hello@translatepdfonline.com.
Раздел для прозрачности; не является юридической консультацией. Обратитесь к юристу по обязательствам AGPL.
Архитектура системы
Используется разделение фронтенда и бэкенда.
Фронтенд (edge)
- Стек: React / Next.js.
- Хостинг: Cloudflare Pages / Workers.
- Роль: UI, аутентификация, оплата, предпросмотр и сравнение PDF в браузере, вызовы API бэкенда.
Объектное хранилище
- Cloudflare R2 для загруженных PDF и результатов, S3-совместимые API.
- R2 помогает контролировать исходящий трафик при больших скачиваниях.
Backend API
- Стек: Python (FastAPI или аналог) на масштабируемых серверах (ECS / VPS).
- Роль: аккаунты, кредиты и подписки, создание задач, оркестрация, интеграция с DeepSeek и очередями воркеров.
Асинхронные воркеры
- Celery (или аналог) для тяжёлых шагов: анализ вёрстки (напр. DocLayout-YOLO), извлечение текста, вызовы перевода и BabelDOC-подобная перерисовка, чтобы переведённый текст возвращался в векторную структу PDF, где это поддерживается.
Поток данных (кратко): браузер → Next.js на Cloudflare → Backend API → R2, очередь, DeepSeek API → воркеры → R2.
Основные возможности
A. Просмотр PDF и выбор области
- Библиотека:
react-pdf-selection(или аналог) накладывает слой взаимодействия. - Сценарий: пользователь рисует прямоугольник; клиент отправляет нормализованные координаты на бэкенд.
- Частичный перевод: бэкенд извлекает текст из области через PyMuPDF (или аналог), вызывает DeepSeek и возвращает текст для встроенного или оверлейного отображения.
B. Сравнение рядом и синхронная прокрутка
- Движок: pdf.js (или аналог) рендерит две панели (источник и перевод).
- Синхронизация: позиция прокрутки слева → коэффициент прокрутки → обновление правой панели.
C. Конвейер задач
- Разбор / вёрстка: воркеры определяют абзацы, уравнения, таблицы.
- Перевод: пакеты в DeepSeek (напр. DeepSeek-V3). Стоимость токенов зависит от размера документа и тарифов.
- Рендер: BabelDOC записывает переведённые строки обратно в структуру PDF, где возможно.
Рабочая область перевода (панель «История»)
На экране Перевести PDF колонка История — центр рабочего процесса:
- В ней загрузки и задачи перевода текущей сессии (и аккаунта, если вы вошли): статус, языки, имена файлов.
- Открыть прошлую задачу — предпросмотр, скачивание переведённого PDF или отслеживание прогресса без повторной загрузки того же файла.
- Вместе с предпросмотром PDF и элементами управления справа: выбор записи подгружает контекст задачи.
Если записи нет, возможны политика хранения (см. ниже) или другое устройство/сессия.
Безопасность данных и хранение
- Передача: HTTPS end-to-end (включая Cloudflare до origin).
- Хранение: результаты и связанные объекты в R2 планируется удалять примерно через 7 дней, если в настройках продукта или по закону не указано иное.
- Безопасность: разумный контроль доступа и шифрование при передаче; абсолютную безопасность онлайн-сервис гарантировать не может.
Юридические условия, конфиденциальность и оплата: Политика конфиденциальности и Условия использования.