Введение

Translate PDF Online — архитектура, возможности, безопасность и соответствие открытому ПО.

Что такое Translate PDF Online?

Translate PDF Online — веб-сервис для перевода PDF-документов с сохранением вёрстки, рисунков и таблиц, насколько это возможно. Рассчитан на академические и профессиональные PDF на английском, китайском (упрощённом), испанском, французском, итальянском, греческом, японском, корейском, немецком, русском и других языковых парах. Удобен для перевода англоязычных статей, диссертаций и договоров на русский язык с сохранением исходной вёрстки — всё прямо в браузере, без установки программ.

Открытый код и благодарности

Наш конвейер перевода опирается на открытый код сообщества, в частности 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. Конвейер задач

  1. Разбор / вёрстка: воркеры определяют абзацы, уравнения, таблицы.
  2. Перевод: пакеты в DeepSeek (напр. DeepSeek-V3). Стоимость токенов зависит от размера документа и тарифов.
  3. Рендер: BabelDOC записывает переведённые строки обратно в структуру PDF, где возможно.

Рабочая область перевода (панель «История»)

На экране Перевести PDF колонка История — центр рабочего процесса:

  • В ней загрузки и задачи перевода текущей сессии (и аккаунта, если вы вошли): статус, языки, имена файлов.
  • Открыть прошлую задачу — предпросмотр, скачивание переведённого PDF или отслеживание прогресса без повторной загрузки того же файла.
  • Вместе с предпросмотром PDF и элементами управления справа: выбор записи подгружает контекст задачи.

Если записи нет, возможны политика хранения (см. ниже) или другое устройство/сессия.

Безопасность данных и хранение

  • Передача: HTTPS end-to-end (включая Cloudflare до origin).
  • Хранение: результаты и связанные объекты в R2 планируется удалять примерно через 7 дней, если в настройках продукта или по закону не указано иное.
  • Безопасность: разумный контроль доступа и шифрование при передаче; абсолютную безопасность онлайн-сервис гарантировать не может.

Юридические условия, конфиденциальность и оплата: Политика конфиденциальности и Условия использования.

Руководства по функциям