PDFShift: подробный обзор облачного HTML-to-PDF API

PDFShift занимает узкую, но важную нишу: это не программа для чтения и не визуальный редактор готовых PDF, а облачный API, который получает HTML-код или адрес веб-страницы и возвращает PDF либо растровое изображение. Такой подход рассчитан прежде всего на разработчиков и автоматизированные системы: интернет-магазин может выпускать счета, CRM — коммерческие предложения, внутренний сервис — отчёты, а веб-приложение — снимки страниц без самостоятельного развёртывания Chromium. На сентябрь 2026 года сервис действует, использует API версии v3 и поддерживается французской компанией S.A.S.U PDFShift.

ПараметрАктуальное состояние
Тип продуктаОблачный SaaS и REST API для HTML-to-PDF и HTML-to-image
ОператорS.A.S.U PDFShift, Франция; управляющий директор — Cyril Nicodème
Основной входHTML-код или URL; также сохранённые HTML-шаблоны
ВыходPDF, PNG, JPEG, WebP
РендерингChromium; в API доступны версии процессора 116 и 142, новые пользователи автоматически используют актуальную версию
ДоступHTTPS API, веб-панель, Playground и документация; отдельного desktop-клиента нет
Бесплатный режимЗарегистрированный Free — до 50 кредитов в месяц; sandbox не расходует кредиты, но добавляет водяной знак
ОплатаПодписка по объёму кредитов; один кредит покрывает до 5 МБ результата
СтатусСервис активен; официальная статус-страница 11 сентября 2026 года показывала все компоненты online

Скачать PDFShift

Бесплатно
В реестре российского ПО
Чистая установка

Новейшая версия для Виндовс, macOS и Линукс. Удобный редактор PDF под российские реалии.

⬇ Скачать PDF Commander бесплатно

⬇ Перейти на официальный сайт PDFShift

Скачивать PDFShift как установщик для Windows, macOS или Linux не нужно: актуальный продукт предоставляется как облачная служба. Безопасная точка входа — официальный сайт PDFShift, откуда доступны регистрация, Dashboard, Playground и документация API. Файлы с названием PDFShift, предлагаемые сторонними каталогами в виде EXE, DMG или APK, не соответствуют основной поставке продукта и не требуются для работы с официальным API.

Для интеграции можно вообще не устанавливать специальный SDK: достаточно HTTP-клиента, способного отправить POST-запрос с JSON на конечную точку API. Официальный сайт показывает примеры для Python, Node.js, PHP и Ruby, а документация описывает протокол независимо от языка. Поэтому «редакция» PDFShift фактически определяется версией API и серверного процессора, а не номером локального приложения. В актуальной документации основной путь конвертации — v3/convert/pdf.

Что такое PDFShift

PDFShift — коммерческий SaaS компании S.A.S.U PDFShift, зарегистрированной во Франции. Юридическая информация сервиса указывает адрес в Париже, регистрационный номер 843 913 807 и управляющего директора Cyril Nicodème. Компания позиционирует сервис как средство автоматического преобразования HTML-документов и веб-страниц в PDF через API. Это важно для точной идентификации: PDFShift не следует смешивать с настольными редакторами PDF, мобильными сканерами, виртуальными принтерами или библиотеками, которые запускаются внутри приложения пользователя.

Основной объект работы — HTML. В параметре source можно передать строку с разметкой либо URL, который сервер PDFShift загрузит сам. После рендеринга сервис возвращает бинарный PDF или, для других конечных точек, PNG, JPEG либо WebP. Отдельный набор API для шаблонов позволяет хранить HTML на стороне сервиса и генерировать документ по сохранённому шаблону и данным.

Основные функции PDFShift

Преобразование HTML и URL в PDF

Ключевая операция выполняется POST-запросом к /v3/convert/pdf. Источник может быть HTML-кодом либо доступным по сети URL. Сервер загружает страницу в Chromium, дожидается условий готовности и печатает результат в PDF. Если исходная страница требует Basic Authentication, дополнительных HTTP-заголовков или cookies, эти данные можно передать отдельными параметрами. Это позволяет рендерить не только публичные страницы, но и контролируемые веб-ресурсы, если архитектура доступа допускает передачу соответствующих учётных данных сервису.

Для динамических страниц предусмотрены несколько способов синхронизации. Параметр delay задерживает захват до 10 секунд; timeout может задавать предел загрузки до 900 секунд; wait_for ждёт, пока глобальная JavaScript-функция вернёт истинное значение, максимум 30 секунд; wait_for_network управляет ожиданием сетевого покоя. Есть отдельная настройка ignore_long_polling, полезная для страниц с WebSocket или длительными соединениями, которые не должны блокировать печать. При необходимости JavaScript можно полностью отключить.

Управление печатной геометрией

PDFShift поддерживает стандартные форматы Letter, Legal, Tabloid, Ledger, A0–A5 и пользовательские размеры. Можно переключить landscape, задать поля строкой в CSS-подобном синтаксисе или объектом для каждой стороны, изменить масштаб от 0,1 до 2, напечатать выбранные страницы и отключить фоны. Параметр remove_blank анализирует последнюю страницу и удаляет её только если на ней действительно нет содержимого; скрытые данные, колонтитулы или элементы, вытолкнутые на страницу, могут сохранить её в результате.

Колонтитулы, метаданные, водяные знаки и защита

Верхний и нижний колонтитулы задаются отдельно от основного документа. Их CSS не наследуется из body, поэтому стили нужно включать непосредственно в содержимое header и footer. Документация поддерживает переменные даты печати, заголовка, URL, номера текущей и общего числа страниц. Для PDF можно добавить метаданные, включая автора, заголовок, тему и ключевые слова.

Водяной знак бывает текстовым или графическим, с управлением шрифтом, прозрачностью, поворотом и положением. Защита PDF включает пользовательский и владельческий пароли, а также запреты печати, копирования и модификации. Документация указывает 128-битное шифрование и отдельно предупреждает, что соблюдение permission-флагов зависит от PDF-просмотрщика: некоторые программы не строго разделяют права владельца и пользователя.

PNG, JPEG и WebP

PDFShift уже не ограничивается одним PDF: документация v3 описывает конечные точки для PNG, JPEG и WebP. Для снимков доступны полностраничный захват, выбор элемента CSS-селектором или clip-область; для WebP указывается масштаб DPI 1, 2 или 4. Это расширяет продукт до сервиса веб-рендеринга: одна инфраструктура может формировать PDF для скачивания и изображения для превью, карточек или Open Graph.

Шаблоны и повторная генерация

Templates API умеет создавать, перечислять, читать, обновлять и удалять HTML-шаблоны. Шаблон идентифицируется slug, имеет имя и HTML-содержимое. Отдельная операция генерирует по шаблону HTML, PDF, JPEG, PNG или WebP. Это полезно, когда макет счета или сертификата меняется редко, а данные подставляются часто: приложение не обязано пересылать весь HTML при каждом запросе.

Асинхронная обработка и доставка результата

Если указать webhook, API отвечает 202 и переводит операцию в очередь, а после завершения отправляет POST на заданный адрес. Для результата через управляемое PDFShift хранилище ссылка указывает на Amazon S3 и сохраняется два дня. Параметр filename также меняет ответ: вместо бинарного файла возвращается JSON со ссылкой. Для более контролируемой схемы документация позволяет записывать результат непосредственно в собственный Amazon S3; общий справочник также заявляет поддержку Google Cloud Storage для экспорта в пользовательское облако.

Интерфейс и удобство использования

У PDFShift нет традиционного окна с панелью страниц, лентой инструментов и кнопкой «Сохранить как». Рабочая модель состоит из четырёх зон: официальный сайт с учётной записью и тарифом, Dashboard для API-ключей и параметров аккаунта, Playground для пробных запросов и документация с описанием полей. В production пользователь обычно взаимодействует уже не с веб-интерфейсом, а с собственным кодом и HTTP-ответами.

Порог входа поэтому зависит не от знания PDF, а от навыков веб-разработки. Разработчик, знакомый с REST, JSON, HTTP-кодами и секретами окружения, получает довольно прямую модель: source задаёт содержимое, дополнительные поля управляют печатью, а тело ответа содержит файл или служебный JSON. Для пользователя, который хочет вручную открыть документ и переставить страницы мышью, эта логика будет значительно сложнее настольного редактора.

Документация и названия параметров представлены на английском; подтверждённой русской локализации панели или справочника нет. При этом API не привязан к языку программирования: запрос можно сформировать из любого окружения, способного работать с HTTPS и JSON. Официальные примеры снижают стартовый порог для Python, Node.js, PHP и Ruby, но являются примерами, а не отдельными обязательными клиентами.

Поддерживаемые форматы и совместимость

Входной формат PDFShift — HTML в двух формах: исходная строка или URL веб-страницы. В Templates API хранится тот же HTML. Сервис не документирует импорт DOCX, ODT, XLSX, EPUB, DjVu или существующего PDF как исходника для конвертации. Если бизнес-данные из таких форматов должны попасть в PDFShift, их сначала нужно преобразовать в HTML другим компонентом.

Выходные форматы актуальной документации: PDF, PNG, JPEG и WebP. Для шаблонов также можно получить HTML. Результат может вернуться непосредственно в HTTP-ответе, в Base64 при включённом encode, через временную ссылку, асинхронный webhook либо в собственное объектное хранилище при поддерживаемой схеме экспорта.

Совместимость с операционными системами практически определяется вашим клиентским приложением: API можно вызывать с Windows, macOS, Linux, контейнера, serverless-функции или backend-сервера. Сам рендер выполняется в инфраструктуре PDFShift. В параметре X-Processor-Version документация на момент проверки принимала Chromium 116 и 142, причём новые пользователи автоматически используют более свежий процессор. Это полезно для воспроизводимости: проект может временно закрепить поддерживаемую версию движка, если обновление Chromium меняет печатный макет.

Полученный обычный PDF можно открыть в любом совместимом просмотрщике. Если задача заключается именно в локальном чтении множества форматов, а не в серверной генерации, PDFShift и Sumatra PDF не конкурируют: Sumatra PDF — Windows-просмотрщик PDF, EPUB, MOBI, DjVu, XPS, комиксов и ряда изображений, тогда как PDFShift создаёт новый файл из веб-контента.

Производительность и стабильность

Для аутентифицированных запросов общий rate limit указан как до 250 документов в минуту; sandbox ограничен 10 документами в минуту. Неаутентифицированные вызовы имеют отдельное ограничение 2 запроса в минуту, а справка по аутентификации дополнительно ограничивает этот режим десятью конвертациями в день. При превышении лимита API возвращает HTTP 429 и заголовки с лимитом, остатком и временем сброса.

FAQ сервиса указывает до 50 параллельных конвертаций по умолчанию и объясняет, что пакетная параллельная обработка использует очередь и webhook. Для бесплатного тарифа на ценовой странице указан timeout 30 секунд; FAQ говорит о 30 секундах для Free и 100 секундах для платных планов по умолчанию. При этом поле timeout в запросе технически допускает значение до 900 секунд, но фактически доступный предел может зависеть от аккаунта и тарифа.

Стабильность облачного API всегда включает сетевую и серверную зависимость. Официальная статус-страница 11 сентября 2026 года показывала все сервисы online. В истории есть инциденты, то есть абсолютную безотказность предполагать нельзя: приложение должно обрабатывать 408, 429 и 5xx, задавать разумные повторные попытки и не считать отправку запроса гарантией готового документа.

Карта критических зависимостей

ЗависимостьЗачем нужнаЧто произойдёт при отказеКак снизить риск
Интернет и доступ к api.pdfshift.ioПередача HTML и получение результатаНовая генерация не выполняетсяОчередь задач, повтор с backoff, контроль статуса API
API-ключАутентификация и нормальные лимитыЗапрос может перейти в жёстко ограниченный неаутентифицированный режимХранить ключ в секретах, мониторить 401/403, ротировать ключи
Доступность исходного URLНужна при source в виде ссылкиPDFShift не сможет загрузить страницу или ресурсыПроверять HTTP-статус, при необходимости передавать auth, headers и cookies
Внешние CSS, шрифты, изображения и JSОпределяют итоговый видМакет может стать неполным или ожидание затянетсяФиксировать версии ресурсов, использовать wait_for, при критичности встраивать ресурсы в HTML
Webhook и объектное хранилищеНужны для асинхронной доставкиГотовый документ может не попасть в бизнес-процессИдемпотентный обработчик, повторная сверка логов, собственный S3 для постоянного хранения
Chromium-процессорРендерит веб-страницуОбновление может повлиять на пиксельную вёрсткуРегрессионные эталоны и явный X-Processor-Version при необходимости

Лицензирование и версии

PDFShift распространяется как SaaS по подписке с бесплатным уровнем. Официальная страница цен указывает Free на 50 кредитов в месяц без платы. Один кредит покрывает до 5 МБ сгенерированного результата: например, файл 14 МБ расходует три кредита. Это принципиально отличается от тарифов «один документ = одна операция» и означает, что размер тяжёлых отчётов влияет на стоимость.

Для зарегистрированного Free на странице цен указан максимальный размер 15 МБ и timeout 30 секунд. Отдельно существует режим без API-ключа: документация аутентификации называет предел 2 МБ, до десяти конвертаций в день, отсутствие параллельных запросов, 30-секундный timeout и обязательный водяной знак. Поэтому нельзя переносить ограничения анонимного теста на полноценный бесплатный аккаунт.

Sandbox включается параметром sandbox=true, не списывает кредиты и добавляет водяной знак; лимит — 10 документов в минуту. Это не пробный период с датой окончания, а режим разработки. Для production без тестового водяного знака нужен действующий API-ключ и доступная квота.

Официальный FAQ приводит конкретный коммерческий пример: Boost стоит 24 доллара в месяц, включает 2500 кредитов, а сверхлимитная конвертация при включённом overage тарифицируется по 0,03 доллара за кредит. Overage по умолчанию выключен. Сервис отправляет уведомления при расходе 50, 80 и 100 процентов квоты. Для годовой оплаты FAQ обещает оплату десяти месяцев вместо двенадцати. Более высокие объёмы выбираются через интерактивный калькулятор на странице Pricing или согласуются с поставщиком, поэтому перед покупкой следует сверить актуальную ступень и налоги.

Полная стоимость использования

Цена PDFShift складывается не только из числа «документов». Первый фактор — объём результата: каждые начатые 5 МБ требуют отдельного кредита. Второй — повторные генерации при ошибках в шаблоне; здесь помогает sandbox, потому что он не расходует квоту. Третий — overage: если его включить, бизнес-процесс продолжит работать после исчерпания пакета, но сверхлимит попадёт в отдельный счёт.

Четвёртый фактор — хранение и доставка. Бинарный ответ можно сохранить сразу в своей системе без промежуточной постоянной ссылки. Если использовать filename или webhook с управляемым PDFShift хранилищем, временный файл держится в S3 два дня. Для долгоживущих архивов разумнее сразу отправлять результат в собственное хранилище и учитывать его стоимость отдельно. Пятый фактор — эксплуатация интеграции: мониторинг 429/5xx, управление ключами, регрессионные проверки шаблонов после обновления Chromium и поддержка webhook тоже требуют инженерного времени.

Системные требования

Клиентская сторона

Поставщик не публикует минимальные требования к процессору, оперативной памяти или версии Windows/macOS, потому что сам PDFShift не устанавливается на пользовательский компьютер. Нужен доступ к интернету и программное окружение, способное отправлять HTTPS-запросы, формировать JSON и принимать бинарные ответы. Для ручной настройки аккаунта нужен веб-браузер, но конкретный перечень поддерживаемых браузеров в официальных материалах не задан.

Сервер и сеть

Production-система должна иметь исходящий доступ к API PDFShift и, если используется webhook, публично или маршрутизируемо доступную конечную точку для входящего POST. При передаче source как URL сама страница и необходимые ей ресурсы должны быть достижимы из инфраструктуры PDFShift. Закрытые ресурсы можно загрузить с Basic Authentication, дополнительными HTTP-заголовками и cookies, но это нужно согласовать с политикой безопасности организации.

Требования к исходному HTML

Отдельного «минимального стандарта HTML» сервис не объявляет: документ рендерится Chromium. Чем меньше макет зависит от нестабильных внешних запросов, случайных задержек JavaScript и недоступных шрифтов, тем воспроизводимее итог. Для долгих приложений предусмотрены delay, wait_for, wait_for_network и timeout; для lazy-load изображений есть отдельный параметр, прокручивающий страницу для их загрузки.

Преимущества и недостатки PDFShift

Плюсы и минусы

Плюсы ✔️
  • Не нужно обслуживать браузерный рендерер. Chromium, его обновления и серверная печать находятся на стороне PDFShift.
  • Гибкое управление PDF. Поддерживаются размеры страниц, поля, масштаб, диапазоны страниц, колонтитулы, метаданные, водяные знаки и пароли.
  • Работа с динамическими страницами. Есть ожидание сети, задержка, пользовательский JavaScript и условие wait_for.
  • Несколько выходных форматов. Помимо PDF доступны PNG, JPEG и WebP.
  • Удобный режим разработки. Sandbox не списывает кредиты, что позволяет отлаживать интеграцию без расхода production-квоты.
  • Асинхронные сценарии. Webhook и параллельная обработка подходят для очередей и фоновой генерации.
  • Контроль доставки. Можно получить файл напрямую или отправлять результат в собственное объектное хранилище.
Минусы ❌
  • Облачная зависимость. Без сети и доступности внешнего API новые документы не генерируются.
  • Не редактор существующих PDF. Нет типичного GUI для ручного изменения текста, страниц, OCR и интерактивной правки готового файла.
  • Стоимость зависит от размера. Документы крупнее 5 МБ расходуют несколько кредитов на одну генерацию.
  • Нужны навыки разработки. Основной интерфейс — REST API, а не кнопки настольной программы.
  • Динамический веб-контент требует дисциплины. Шрифты, сторонние ресурсы и JavaScript могут влиять на стабильность макета и время рендера.
  • Некоторые security-флаги PDF не абсолютны. Сам поставщик предупреждает, что часть просмотрщиков может трактовать ограничения печати и копирования по-разному.

Сравнение с аналогами

ПродуктМодельЧто принимаетБесплатный уровеньКлючевое отличие
PDFShiftОблачный REST APIHTML или URL50 кредитов в месяц после регистрации; отдельный sandboxКредиты зависят от размера результата; PDF и изображения, webhook, шаблоны
DocRaptorОблачный APIHTML5 документов в месяц и бесплатные test-документы по условиям сервисаТарификация по документам; официальный Basic — 15 долларов за 125 документов в месяц
PDFMonkeyОблачный API с шаблонным редакторомHTML-шаблон плюс данные20 документов в месяц; новым аккаунтам доступен 30-дневный Pro trialСильнее ориентирован на управляемые шаблоны и командную работу; Starter — 5 евро за 300 документов
GotenbergСамостоятельно развёртываемый Docker APIURL, HTML, Markdown и офисные документы через разные модулиНет SaaS-квоты: расходы связаны с собственной инфраструктуройПодходит, когда Chromium и данные должны оставаться в вашем контуре; требует администрирования контейнеров
Sumatra PDFЛокальное Windows-приложениеГотовые PDF и другие документы для чтенияБесплатное ПО с открытым исходным кодомЭто просмотрщик, а не HTML-to-PDF API; дополняет PDFShift на этапе чтения результата

PDFShift логичнее выбирать, когда требуется быстро встроить HTML-to-PDF в backend и не хочется обслуживать собственный headless Chromium. DocRaptor конкурирует напрямую, но считает документы иначе и имеет другую ценовую сетку. PDFMonkey удобнее, если бизнес-пользователям важнее управление шаблонами и сохранёнными документами, чем «тонкий» API рендеринга. Gotenberg привлекательнее для self-hosted среды, где внешняя передача данных нежелательна или запрещена.

Sumatra PDF занимает другое место в цепочке. Он нужен после генерации: открыть, прочитать, поискать или распечатать готовый PDF на Windows. Если задача — локально создавать PDF из приложений через печать, ближе по модели будет doPDF. Для офлайн-набора PDF-инструментов под Windows уместен PDF24 Creator, а для полноценной визуальной правки готового файла — Adobe Acrobat Pro или Sejda PDF Editor.

Инструкция по установке

У PDFShift нет установки в классическом смысле, поэтому корректная процедура — подключение облачного API. Она одинакова для Windows, macOS и Linux, если выбранный язык программирования умеет отправлять HTTPS-запросы.

Первичное подключение

  1. Откройте официальный сайт PDFShift и создайте аккаунт, если нужен нормальный бесплатный лимит и PDF без обязательного анонимного водяного знака.
  2. В Dashboard создайте API-ключ. Документация требует передавать его в заголовке X-API-Key; ключ следует хранить как секрет, а не включать в клиентский JavaScript или публичный репозиторий.
  3. Выберите способ интеграции: прямой REST-запрос или пример для вашего языка. Специальная библиотека не является обязательной.
  4. Сначала включите sandbox=true и отправьте минимальный HTML. Проверьте HTTP 200, тип ответа и содержимое файла. Водяной знак на этом этапе ожидаем и не означает ошибку.
  5. Добавьте печатные параметры: format, margin, landscape, header/footer и ожидание динамического контента только после того, как базовая конвертация стабильна.
  6. Выполните один контрольный production-запрос без sandbox и сравните результат с эталоном. Убедитесь, что X-Credits-Used и размер файла соответствуют ожиданиям.
  7. Для фоновых операций настройте webhook и обработку 202, а для синхронных — сохранение бинарного ответа. В обоих случаях обрабатывайте 408, 429 и 5xx как отдельные ветви.

Удаление и отключение

Так как локального приложения нет, «удаление» означает деактивацию интеграции. Сначала остановите новые задания, дождитесь очереди webhook, сохраните нужные результаты в своём хранилище и удалите сохранённые шаблоны через Templates API, если они больше не нужны. Затем отзовите API-ключи в Dashboard и удалите секреты из CI/CD и серверных переменных. Подписку можно отменить через аккаунт до следующего продления; условия сервиса указывают, что отмена вступает в силу на очередную дату продления. Локальный SDK, если вы ставили стороннюю или языковую библиотеку, удаляется обычным менеджером пакетов вашего проекта.

Практические кейсы

Автоматический счёт из HTML-шаблона

Цель: выпускать одинаково оформленные счета после оплаты. Подготовка: HTML-макет с фиксированными стилями, тестовые данные, локально доступные или стабильные внешние шрифты. Шаги: сохраните макет как template либо формируйте HTML в приложении; подставьте номер заказа, позиции и итоги; запросите PDF; сохраните бинарный ответ в хранилище заказа. Проверка: сверяйте число страниц, номер счёта, итоговую сумму и ненулевой размер файла. Ограничение: крупные встроенные изображения увеличивают итоговый размер и расход кредитов.

Архивная копия динамической веб-страницы

Цель: получить PDF страницы после завершения клиентского рендеринга. Подготовка: URL, который доступен серверам PDFShift, и явный сигнал готовности в JavaScript либо предсказуемое сетевое состояние. Шаги: передайте URL в source; если страница долго грузит данные, используйте wait_for; для ресурсов с lazy loading включите соответствующую опцию; при необходимости передайте cookies или заголовки. Проверка: сравните ключевой текст и число блоков с веб-версией. Ограничение: бесконечные long-polling или WebSocket-соединения могут мешать ожиданию сети, поэтому их нужно исключать из критерия готовности.

Изображение страницы для превью

Цель: получить PNG, JPEG или WebP вместо PDF. Подготовка: тот же HTML или URL, что и для печатной версии, плюс понимание требуемого фрагмента. Шаги: выберите соответствующую конечную точку; задайте fullpage, CSS-селектор или clip, но не несколько режимов одновременно; для WebP выберите допустимый коэффициент DPI. Проверка: контролируйте MIME-тип, размеры и наличие ожидаемого элемента. Ограничение: растровый результат не заменяет PDF, если пользователю нужен текстовый поиск, печатная пагинация или многостраничный документ.

Асинхронная партия документов

Цель: не держать HTTP-соединение открытым при массовой генерации. Подготовка: устойчивый HTTPS webhook, хранилище результатов и идентификатор задания в вашей системе. Шаги: отправьте конвертацию с webhook; считайте 202 подтверждением постановки в очередь, а не завершения; принимайте callback и сначала проверяйте наличие error; после успешного ответа загрузите или зафиксируйте файл. Проверка: число подтверждённых callback должно совпадать с числом заданий, а повторные уведомления не должны создавать дубли. Ограничение: временная ссылка управляемого хранилища живёт два дня, поэтому архивирование нужно делать самостоятельно.

Документ с повышенными требованиями к приватности

Цель: сократить промежуточное хранение чувствительного PDF. Подготовка: юридическая проверка сценария, собственный bucket и минимальный набор передаваемых данных. Шаги: используйте прямой бинарный ответ или собственное хранилище; для применимых сценариев API содержит флаги is_gdpr и is_hipaa, которые блокируют несовместимые способы, способные сохранить чувствительный документ на управляемом PDFShift S3; не включайте log_request без необходимости. Проверка: убедитесь, что итог оказался только в разрешённом хранилище и временная публичная ссылка не создавалась. Ограничение: флаги API не заменяют оценку рисков, DPA, BAA и внутреннюю политику обработки данных.

Навигатор по сбоям

СимптомЧто проверитьБезопасное действиеКонтроль результата
401 или 403X-API-Key, права и формат заголовкаНе печатать ключ в лог; проверить секрет и при необходимости ротироватьПовторный запрос проходит аутентификацию и не попадает в анонимные лимиты
408Долгие ресурсы, wait_for, network idleУпростить страницу, исправить условие готовности, увеличить допустимый timeout в пределах аккаунтаДокумент формируется без случайной задержки
429Rate-limit заголовки и параллелизмОстановить агрессивные повторы, ждать reset, применять backoffОчередь разгружается без новых волн 429
Пустые изображения или шрифтыДоступность внешних ресурсовВстроить критические ресурсы или исправить URL и авторизациюЭталонные элементы присутствуют в PDF
Лишняя последняя страницаКолонтитул, скрытый элемент, CSS page-breakИсправить макет; remove_blank использовать только как страховкуКоличество страниц стабильно на тестовом наборе
Webhook не завершает заказДоступность endpoint, error в payload, идемпотентностьПовторно сверить журнал операции и восстановить состояние из своего task-idОдин документ соответствует одному бизнес-событию

Контроль перед сохранением и передачей

  • Проверьте HTTP-код и Content-Type, а не только наличие тела ответа.
  • Сверьте количество страниц, обязательные поля и итоговые суммы на уровне вашего приложения.
  • Проверьте X-Credits-Cost и X-Credits-Used, особенно после включения sandbox или изменения размера документов.
  • Убедитесь, что документ не содержит тестового водяного знака перед отправкой клиенту.
  • Проверьте шрифты, изображения и колонтитулы на эталонных страницах.
  • Если используется временная ссылка, скопируйте файл в постоянное хранилище до истечения двух суток.
  • Для защищённого PDF откройте файл обычным просмотрщиком и отдельно проверьте пароль; permission-флаги не следует считать криптографической гарантией запрета копирования.
  • Не сохраняйте API-ключ, cookies и приватные заголовки рядом с готовым PDF или в пользовательском журнале ошибок.

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

Можно ли пользоваться PDFShift без регистрации?

Да, документация допускает запросы без API-ключа и официальный Playground. Но это отдельный строго ограниченный режим: водяной знак, максимум 2 МБ, 30 секунд, не более десяти конвертаций в день, без параллельной обработки; действует также лимит 2 запроса в минуту. Для регулярного бесплатного использования лучше зарегистрировать аккаунт с 50 кредитами в месяц.

PDFShift умеет редактировать уже существующий PDF?

Основная документация описывает HTML-to-PDF и HTML-to-image, а не импорт и визуальное редактирование существующих PDF. Если нужно исправлять текст, переставлять страницы или работать с аннотациями в готовом файле, выбирайте PDF-редактор. Например, на сайте есть отдельный обзор PDF-XChange Editor.

Есть ли в PDFShift OCR?

OCR не относится к заявленным функциям PDFShift: сервис рендерит HTML, а не распознаёт текст на сканах. Для распознавания нужен специализированный инструмент, например класс программ, представленный ABBYY FineReader.

Нужна ли банковская карта для Free?

Официальный FAQ указывает, что для бесплатных 50 кредитов в месяц карта не требуется. Платёжные данные нужны при переходе на коммерческий план.

Sandbox и Free — одно и то же?

Нет. Free — тариф с месячной квотой. Sandbox — флаг конкретного запроса, который не списывает кредиты, добавляет водяной знак и ограничивает скорость десятью документами в минуту. Sandbox полезен и на платном аккаунте при разработке.

Сохраняет ли PDFShift документы?

Поставщик заявляет, что по умолчанию не хранит документы, если хранение явно не запрошено. Но некоторые режимы меняют схему: filename и webhook могут вернуть ссылку на файл в управляемом Amazon S3 сроком на два дня. Для долгого хранения следует использовать собственную систему или поддерживаемый экспорт в пользовательский bucket.

Можно ли защитить итоговый PDF паролем?

Да. API поддерживает пользовательский и владельческий пароли, а также ограничения печати, копирования и изменения. Документация указывает 128-битное шифрование. При этом сами ограничения операций могут соблюдаться разными PDF-просмотрщиками неодинаково.

Подходит ли PDFShift для Windows?

Да, если под «подходит» понимать доступ к облачному API из Windows-приложения или сервера. Нативной Windows-программы PDFShift не требуется. То же относится к macOS и Linux: совместимость зависит от HTTP-клиента и вашего стека, а не от локального рендерера.

Можно ли открыть результат в Sumatra PDF?

Да, если PDFShift вернул обычный PDF. Sumatra PDF выполняет здесь роль локального просмотрщика. Он не отправляет HTML в PDFShift и не заменяет серверную генерацию.

Как контролировать расходы при разработке?

Используйте sandbox=true, отслеживайте X-Credits-Cost и X-Credits-Used и не включайте overage до окончания нагрузочного профилирования. После выхода в production полезно реагировать на уведомления 50, 80 и 100 процентов квоты и считать средний размер PDF, потому что файлы свыше 5 МБ расходуют несколько кредитов.

Вывод

PDFShift подходит командам, которым нужен именно программный конвейер HTML → PDF/изображение без обслуживания собственного Chromium. Сильные стороны сервиса — управляемый браузерный рендеринг, гибкие печатные параметры, защита и водяные знаки, динамические ожидания, шаблоны, webhook и несколько способов доставки. Бесплатные 50 кредитов и sandbox дают достаточно пространства, чтобы проверить архитектуру до платного запуска.


Ваш адрес email не будет опубликован. Обязательные поля помечены *