Перейти к содержимому
PDF Editor

Как работает локальная обработка PDF в браузере

Обновлено

Людей удивляет, что вкладка браузера способна сжать PDF, объединить два файла или извлечь страницы из документа на 200 страниц — и всё это без отправки чего-либо на сервер. Браузер ощущается как окно в интернет, а не место, где происходит тяжёлая работа. Но современные браузеры умеют выполнять большой объём кода прямо на вашем устройстве, и обработка PDF оказывается именно такой задачей, которая для этого подходит.

Технология, лежащая в основе локальных браузерных инструментов для PDF, — это JavaScript и WebAssembly, работающие прямо в вашем браузере и обрабатывающие предоставленный вами файл напрямую. Файл читается кодом JavaScript, преобразуется в памяти вашего браузера и записывается обратно в новый файл, доступный для скачивания, — и всё это без единого сетевого запроса, несущего содержимое файла.

В этой инструкции разобрано, как это устроено на самом деле, почему это безопасно по умолчанию, какие у этого реальные ограничения (они есть) и как проверить, что рассматриваемый инструмент действительно локальный. Ничего экзотического — технология вполне зрелая.

Пошагово

  1. 1

    Разберитесь в базовом потоке

    Вы перетаскиваете файл на страницу. JavaScript считывает его в память браузера. Код на JavaScript или WebAssembly преобразует файл (сжимает, объединяет, разделяет). Результат записывается в новый файл, который вы скачиваете. Нет отправки на сервер, нет сетевого обращения по поводу самого файла.

  2. 2

    Поймите, что делает это приватным

    Сервер предоставляет код JavaScript (сам инструмент), но никогда не видит данные, которые этот код обрабатывает. Та же вкладка браузера, которая скачала инструмент, затем выполняет его локально на вашем файле. Архитектура разделяет доставку кода и обработку данных.

  3. 3

    Проверьте с помощью инструментов разработчика в браузере

    Откройте инструменты разработчика, вкладку сети, добавьте файл. По-настоящему локальный инструмент не покажет крупного исходящего запроса при добавлении файла. Инструмент, который отправляет файл на сервер, посылает его как POST-запрос размером в несколько мегабайт. Разница видна невооружённым глазом.

  4. 4

    Честно оцените ограничения

    Локальная обработка ограничена памятью и процессором вашего браузера. Очень большие файлы (сотни страниц, гигабайты) могут вызывать сбои; сложные операции (полноценное распознавание текста в длинных документах) иногда требуют помощи сервера. Браузерные инструменты лучше всего подходят для обычной повседневной работы.

  5. 5

    Убедитесь, что телеметрия не передаёт данные

    Некоторые инструменты записывают события аналитики с метаданными (число страниц, размер файла). Это не то же самое, что утечка содержимого, — и такая аналитика тоже видна в той же вкладке сети. Отличайте содержимое от метаданных.

  6. 6

    Относитесь к браузеру как к границе доверия

    Как только ваш файл оказался во вкладке браузера, он по-прежнему остаётся на вашем устройстве. Инструменты обработки на этом сайте используют это свойство: они выполняют работу прямо во вкладке и никогда не отправляют ваш файл наружу, поэтому приватность обеспечивается сама собой.

Советы

  • WebAssembly берёт на себя основную вычислительную нагрузку при обработке PDF в современных браузерах — это скорость, близкая к нативной, поэтому локальные инструменты для PDF догнали по производительности настольные приложения.
  • Закрытие вкладки браузера очищает файл из памяти. Локальные инструменты не оставляют за собой копию.
  • Локальные инструменты работают офлайн после загрузки страницы — это удобное подтверждение того, что файл никуда не отправляется.
  • Заявления о приватности должны быть проверяемыми. Инструменты разработчика — это и есть проверка; не нужно верить маркетинговому тексту на слово.
  • «Работает в браузере» — не то же самое, что «без сервера». Некоторые «браузерные» инструменты всё равно отправляют файл — в браузере находится только интерфейс. Проверяйте сетевой трафик.

Попробуйте с телефона

Мобильные браузеры выполняют тот же локальный код на JavaScript и WebAssembly, что и настольные. Приложение PDF Editor использует похожую архитектуру: вся обработка происходит на устройстве, без отправки файла на сервер, поэтому пользователи iPhone и Android получают те же гарантии приватности.

Часто задаваемые вопросы

  • JavaScript и WebAssembly считывают ваш файл в память вкладки браузера, преобразуют его и записывают результат обратно в файл для скачивания. Сервер предоставляет код, но никогда не видит сам файл.

Приложение PDF Editor

Берите PDF Editor с собой.

Бесплатно на iOS и Android.