pdfRest позволяет загружать документы в API Lab, выбирать операцию и её параметры, получать готовый запрос на cURL, JavaScript, Python, PHP, .NET или Java, отправлять его прямо из браузера и скачивать результат. Через те же инструменты можно конвертировать файлы в PDF и обратно, объединять и разделять страницы, сжимать документы, распознавать сканы, извлекать текст и изображения, добавлять содержимое, ставить водяные знаки, применять шифрование, редактирование и специализированную подготовку PDF/A или PDF/X.
Работа в API Lab строится вокруг четырёх областей: панели параметров, окна автоматически сформированного кода, блока JSON-ответа и кнопки получения выходного файла. Пользователь выбирает endpoint, указывает файл либо идентификатор уже загруженного ресурса, заполняет обязательные поля, проверяет код и отправляет запрос; после успешной обработки сервис возвращает идентификаторы входа и выхода, а также ссылку на результат, действующую в пределах срока хранения файлов.
Такой подход особенно удобен при проектировании автоматизации: сначала можно проверить качество конкретной операции на реальном документе без написания программы, затем скопировать рабочий пример и перенести его в приложение, серверный скрипт или low-code-процесс. При этом важно учитывать три практических ограничения: интерфейс и документация ориентированы на английский язык, для рабочих вызовов нужен API-ключ, а результаты бесплатного плана предназначены для тестирования и получают водяной знак либо редактирование текстового вывода.
Открыть pdfRest
- Редактирование PDF
- Русский интерфейс
- Просто новичкам
- Только английский интерфейс
- Нужен ключ API
- Водяной знак в free
Как устроен API Lab и первый рабочий запрос
В верхней части API Lab выбирается инструмент, а рядом отображается HTTP-метод и путь endpoint. Для большинства операций используется POST: пользователь передаёт файл и параметры, а сервис создаёт новый ресурс. Левая колонка показывает обязательные и дополнительные поля. Если операция допускает два источника, например локальный file или ранее полученный resource ID, заполняют только один; одновременная передача обоих вариантов приводит к ошибке о взаимоисключающих входах.
Поле Api-Key служит для аутентификации. После входа в учётную запись ключ подставляется в лабораторию автоматически. В сгенерированном коде он становится заголовком запроса, поэтому перед публикацией примера его заменяют заглушкой. Рабочий ключ нельзя хранить в клиентском JavaScript, мобильном пакете или публичном репозитории: безопасная схема помещает секрет на сервер либо в менеджер секретов и выдаёт браузеру собственный ограниченный маршрут.
Окно Code обновляется при каждом изменении параметров. Переключатель языка формирует эквивалентный пример для cURL, JavaScript, Python, PHP, .NET или Java. Полезно сначала добиться успешного результата в лаборатории, затем скопировать пример и вынести путь к файлу, ключ, имя результата и параметры качества в конфигурацию проекта. Такой порядок снижает число ошибок Content-Type, multipart boundary и несовпадающих имён полей.
После Send API Lab выполняет именно показанный запрос. Для синхронной обработки типичный ответ содержит outputUrl, outputId и inputId. Временный outputUrl используют для немедленного получения файла, outputId передают следующему инструменту, а inputId обозначает исходный ресурс. Кнопка Download Output активна только после корректного ответа и пока файл не удалён по политике хранения.
Для тяжёлых операций применяется асинхронный режим: Response-Type со значением requestId просит сервер вернуть идентификатор задания, не удерживая соединение до конца. Затем приложение опрашивает request-status. Это предпочтительно для OCR, крупных Office-файлов и длинных цепочек. Интервал опроса увеличивают после нескольких неготовых ответов, иначе проверки расходуют квоту и создают лишнюю нагрузку.

Структура запросов, ответов и временных ресурсов
Accept обычно устанавливают в application/json. При одновременной передаче файла и параметров используется multipart/form-data, причём HTTP-библиотеке лучше поручить формирование boundary. application/json подходит для вызовов с идентификатором ресурса и структурой настроек. application/octet-stream предусмотрен для загрузки одного бинарного файла; имя в этом режиме передают заголовком Content-Filename.
Include-File-Info добавляет сведения об обнаруженных входных и выходных файлах: имя, размер, тип и время истечения. Эти данные помогают сопоставить размер до и после сжатия, проверить ожидаемый формат и заранее увидеть момент удаления. В журнал не записывают временные адреса и содержимое конфиденциальных документов; достаточно request ID, endpoint, размера, статуса и внутреннего номера операции.
Большинство инструментов принимают либо file, либо id. Первый вариант загружает документ заново, второй использует файл, уже находящийся в хранилище pdfRest. ID особенно ценен в многошаговом процессе: результат конвертации можно сразу сжать, поставить водяной знак, зашифровать и объединить без промежуточной выгрузки. Но идентификатор действует только в пределах срока хранения.
Параметр output задаёт базовое имя результата без расширения. Сервис добавляет расширение, соответствующее endpoint. В производственном процессе лучше использовать безопасное имя из внутреннего номера и назначения, не включая полное имя клиента. Если output не указан, имя создаётся автоматически; для теста это удобно, но в массовой выгрузке явное имя упрощает сортировку и аудит.
GET к resource получает готовый файл и не требует ключа, тогда как POST, DELETE и GET request-status учитываются как вызовы. Временную ссылку следует считать секретом доступа: любой её обладатель может скачать документ до истечения. Backend должен забрать файл, сохранить в собственном защищённом хранилище и удалить облачный ресурс.
Преобразование файлов в PDF
Convert to PDF принимает Word DOC и DOCX, Excel XLS и XLSX, PowerPoint PPT и PPTX, PostScript PS, EPS, изображения JPEG, TIFF, BMP и PNG, сообщения EML, а также HTML из файла или общедоступного адреса.
Для Office-файлов доступны параметры, связанные с качеством, сжатием и tagged PDF. Для Excel locale влияет на региональные числа, денежные значения, даты и время. Для HTML задаются размер страницы, поля, ориентация и web_layout desktop, tablet или mobile.

В смешанном пакете каждый непереносимый источник сначала переводят в PDF, затем его outputId передают Merge PDFs. EML обычно конвертируют отдельно от вложений, после чего письмо и приложения собирают в требуемом порядке.
Конвертер не угадывает неявные области печати, отсутствующие шрифты, скрытые листы и динамический контент страницы, доступный только после входа. Tagged PDF не заменяет проверку порядка чтения и альтернативных описаний.
После конвертации сравнивают число страниц, переносы строк, таблицы, шрифты, ориентацию, даты и денежные форматы. HTML тестируют на ленивых изображениях, фиксированных шапках, адаптивных блоках и печатных стилях.
Экспорт PDF в Word, Excel и PowerPoint
PDF to Word, PDF to Excel и PDF to PowerPoint создают документы для последующего редактирования. Формат выбирают по структуре: последовательный текст — Word, расчётные и табличные данные — Excel, презентационный макет — PowerPoint.
На результат влияют диапазон страниц, структура исходного PDF, наличие текстового слоя, таблиц, колонок, шрифтов и изображений. Эти операции относятся к Pro Tools, поэтому полноценный доступ и стоимость зависят от плана.
Сканированный документ сначала отправляют на OCR, затем через Extract Text или Query PDF подтверждают наличие текста и только после этого выполняют экспорт. Для регулярных шаблонов создают эталонные проверки заголовков, колонок и типов данных.
Сложная страница не превращается автоматически в идеальный редактируемый исходник. Вложенные таблицы, многостолбцовая верстка, нестандартные шрифты и декоративные элементы могут быть реконструированы приблизительно.
В Word проверяют порядок абзацев и колонтитулы, в Excel — число столбцов, суммы и даты, в PowerPoint — границы блоков и масштабы. Критичные значения сверяют с оригиналом, а не считают любой созданный файл достоверным.
Рендеринг страниц и извлечение изображений
PDF to Images создаёт изображение выбранных страниц в BMP, JPEG, PNG, GIF или TIFF. Extract Images решает другую задачу: извлекает вложенные графические ресурсы в исходном или близком к исходному виде.
Для рендеринга задаются pages, разрешение, цветовая модель и параметры конкретного формата; у JPEG регулируется качество. Выбор страниц позволяет получить только первую миниатюру или определённый диапазон.
Для сайта первую страницу рендерят в JPEG умеренного размера, а фотографии товаров извлекают отдельно. Для контроля печати используют TIFF или PNG с более высоким разрешением и согласованной цветовой моделью.
Извлечённая картинка не содержит полный макет страницы, а рендеринг превращает текст и векторные элементы в растр. Число извлечённых ресурсов не обязано совпадать с числом визуально заметных картинок.
Проверяют размер каждого результата, число файлов, цвет, прозрачность, читаемость мелкого текста и отсутствие лишних страниц. При нескольких выходах клиент должен уметь разобрать набор ресурсов или архив, а не ожидать только один outputUrl.
Объединение PDF и управление порядком страниц
Merge PDFs принимает несколько file и/или id[]. Источники соединяются в порядке передачи, а pages[] позволяет взять отдельные страницы, диапазоны, изменить последовательность и повторить страницу.
Для каждого источника требуется связанный type[] и pages[]. Количество и порядок массивных параметров должны соответствовать входным файлам, иначе документ будет собран неверно либо запрос отклонится.
Word, HTML и изображения сначала конвертируют, затем передают их outputId в merge. Так приложение не скачивает промежуточные PDF. Для юридического пакета порядок частей формируется из метаданных дела, а не из случайного порядка загрузки.
Объединение меняет структуру и способно нарушить цифровые подписи. Формы с одинаковыми именами полей могут конфликтовать. Несмотря на оптимизацию дублирующихся ресурсов, итог всё равно проверяют на размер и интерактивные элементы.
Сверяют число страниц, первые и последние страницы каждой части, закладки, формы, вложения и подписи. Система не выпускает частичный пакет, если хотя бы один источник повреждён или не прошёл конвертацию.
Разделение PDF по диапазонам
Split PDF создаёт несколько файлов из одного документа. Диапазоны могут содержать отдельные страницы, интервалы и обозначение last, что удобно для файлов переменной длины.
Строка диапазона должна соответствовать синтаксису endpoint. Перед массовым делением полезно получить число страниц через Query PDF и сформировать границы в приложении.
Счета можно разделять по рассчитанным диапазонам, а документы со штрихкодами — после предварительного рендеринга и распознавания маркеров. Полученные resource ID сразу отправляют на OCR, архивирование или ZIP.
Split не понимает смысловые границы сам по себе. Если разрыв определяется текстом или штрихкодом, его сначала находит приложение. Неверный диапазон способен пропустить лист или продублировать его.
Проверяют количество выходных файлов, число страниц в каждом, совпадение первой и последней страницы, а также отсутствие пустых частей. Для важных пакетов рассчитывают контрольный список всех исходных номеров страниц.
Сжатие PDF и custom profile
Compress PDF предлагает low, medium и high. Low сохраняет качество, medium балансирует размер и внешний вид, high нацелен на минимальный объём и сильнее вмешивается в изображения, шрифты и дополнительные объекты.
Custom profile управляет downsampling, пороговым и целевым разрешением, методами сжатия, шрифтами, пользовательскими данными, цветом и прозрачностями. Порог определяет, какие изображения вообще уменьшать, а target — до какого значения.

Для электронной почты создают компактную копию, для сайта — сжатую и linearized, для архива — отдельный PDF/A, для печати — профиль с сохранением разрешения и цвета. Один универсальный профиль не используют для всех каналов.
High может удалить JavaScript, закладки, миниатюры, вложения, метаданные, комментарии и иные специализированные объекты. Он также может сильнее сжимать изображения и переводить цвет к sRGB.
Сравнивают размер, число страниц, мелкий текст, линии, поиск, копирование, закладки, формы, аннотации, вложения и печать. Аномально маленький файл отправляют на ручную проверку, а почти неизменившийся анализируют через Query PDF.
OCR PDF для сканов
OCR PDF распознаёт текст в изображениях страниц и помещает текстовый слой за визуальным сканом. Внешний вид сохраняется, а документ становится доступным для поиска и извлечения.
Качество зависит от языковых настроек, разрешения, ориентации, контраста, шума и артефактов. Перед повторным OCR проверяют, нет ли уже текстового слоя, чтобы не создать дублирование.
Скан нормализуют, запускают OCR, затем Extract Text подтверждает результат. После этого документ можно экспортировать в Word, индексировать, обезличивать по тексту или включать в поисковую базу.
Рукопись, сложные таблицы, смешанные алфавиты и слабый скан дают ошибки. Распознанные суммы, даты, имена и номера договоров нельзя принимать без контрольных правил.
Сверяют несколько страниц визуально, ищут контрольные слова, проверяют порядок текста и отсутствие дублей. Для счетов сопоставляют итоговые суммы, для форм — ключевые поля, для многоязычных документов — словари каждого языка.
Extract Text, PDF to Markdown и Query PDF
Extract Text получает текст для поиска и аналитики, PDF to Markdown сохраняет часть структуры в виде заголовков и списков, а Query PDF возвращает свойства документа, необходимые для условных ветвей обработки.
Формат ответа выбирают по задаче. Query PDF используют для проверки числа страниц, шифрования, форм, вложений, аннотаций, слоёв и других признаков перед запуском дорогого endpoint.
Сначала Query PDF классифицирует вход: скан идёт на OCR, форма — на обработку полей, большой файл — на оптимизацию, архивный документ — на валидацию. Затем текст или Markdown индексируются с привязкой к исходному документу и странице.
Визуальные колонки, колонтитулы и таблицы могут появиться в другом порядке. Markdown не гарантирует идеальную вложенность заголовков и таблиц. Извлечённый текст нельзя считать юридически точной копией.
Удаляют повторяющиеся шапки, проверяют абзацы, заголовки, таблицы, экранирование и кодировку. Конфиденциальный текст не передают в последующие внешние системы без отдельной политики доступа.
Create Blank PDF и добавление текста
Create Blank PDF создаёт страницы заданного размера, ориентации и количества. Add Text размещает текстовые блоки на существующем или созданном PDF.
Координаты измеряются в PDF-единицах: 72 единицы равны одному дюйму, начало находится в левом нижнем углу. Указываются страница, x, y, шрифт, размер и другие настройки. Документы со смещённым origin требуют калибровки.
Генерацию отчёта строят слоями: пустой документ, подложка, текст, таблицы, изображения и вложения. Параметры макета вычисляются из единой модели, а не из разрозненных числовых констант.
Шрифт, установленный на компьютере разработчика, не становится доступным в облаке автоматически. Несуществующее имя шрифта приводит к 400. Координаты portrait нельзя без преобразования переносить на landscape и повёрнутые страницы.
Ставят тестовые метки по углам, проверяют отступы, переносы, кириллицу, поворот страниц и эффективный размер. После генерации Extract Text сверяет ключевые значения, а рендеринг используется для визуального сравнения с эталоном.
Добавление изображений, фигур и таблиц
Add Image вставляет графику на выбранную страницу; Add Shapes рисует линии и прямоугольники; Add Tables создаёт таблицы с заголовками, нижними строками, объединением ячеек, изображениями и продолжением на следующих страницах.
Для изображений задаются x, y, ширина и высота. Для фигур — координаты, размеры, заливка и границы. Таблицы поддерживают каскадные стили уровня таблицы, колонки, строки и ячейки, письмо справа налево и продолжение.
Сначала размещают фон и рамки, затем текст и графику. Таблица отчёта автоматически переходит на следующую страницу и повторяет заголовок. Графики подготавливают в подходящем разрешении до вставки.
Несогласованные width и height растягивают логотип. Непрозрачная фигура, добавленная позже текста, может его закрыть. Очень высокая строка или длинное непрерывное содержимое способно нарушить автоматический перенос таблицы.
Проверяют пропорции, прозрачность, цвет, эффективное DPI, порядок слоёв, страницу первого переноса таблицы, последнюю короткую страницу, объединённые ячейки и длинные слова.
Вложения внутри PDF
Add Attachment прикрепляет внешний файл к PDF как отдельный объект. Это подходит для XML-счёта, исходных данных, сертификата или сопроводительного файла.
Передаётся исходный PDF и файл-вложение. Имя и тип вложения должны быть безопасными и понятными потребителю. Для нескольких вложений процесс строится последовательными вызовами либо подготовленным пакетом.
PDF служит визуальной частью, а машинно-читаемые данные прикладываются отдельно. В самом документе указывают, что вложение существует, потому что некоторые браузерные просмотрщики его не показывают.
Вложения могут быть недоступны в упрощённых клиентах и создают дополнительный риск безопасности. Высокий уровень сжатия способен удалить специализированные объекты, поэтому профиль выбирают осознанно.
Сверяют имя, расширение, размер и контрольную сумму вложения, проверяют открытие в целевом просмотрщике и сканируют содержимое. Обязательный файл не доверяют только визуальному значку скрепки.
Водяные знаки
Watermark PDF добавляет текстовый или графический знак на все страницы. Для текста доступны шрифт, размер, цвет, прозрачность, позиция и поворот; для изображения — масштаб и размещение.
Графический знак передаётся как PDF. PNG или JPEG сначала конвертируют, затем outputId используют в Watermark PDF. behind_page помещает знак под содержимое страницы.
Для внешней копии приложение формирует слово CONFIDENTIAL, номер заказа или внутренний идентификатор. Брендовый знак конвертируется один раз и используется в цепочке без промежуточного скачивания.
Знак под страницей может исчезнуть за непрозрачным фоном, а слишком непрозрачный знак ухудшает чтение. Персональные данные в знаке могут раскрыться третьим лицам.
Тестируют светлые и тёмные страницы, разные размеры, повороты и ориентации. Проверяют, что знак не закрывает подпись, штрихкод, мелкий текст и поля формы.
Шифрование и ограничения разрешений
Encrypt PDF устанавливает пароль открытия и параметры шифрования, Decrypt PDF снимает защиту при верном пароле, Restrict PDF управляет печатью, копированием и изменением.
Различают пароль открытия и пароль владельца. В запрос передаются требуемые пароли и разрешения. Многие endpoints не обработают защищённый файл без корректного пароля и вернут 401.
Пароль хранится в менеджере секретов, подставляется только на время запроса и не попадает в журнал. Защиту применяют к финальной внешней копии после всех обычных модификаций.
Ограничения PDF не являются абсолютной DRM: просмотрщик может вести себя по-разному, а экран можно сфотографировать. Они дополняют разграничение доступа, водяные знаки и аудит.
Проверяют открытие правильным и неправильным паролем, печать, копирование, изменение и работу в целевых просмотрщиках. Сообщение 401 анализируют по телу: причина может быть в ключе API или пароле документа.
Необратимое удаление данных через Redact PDF
Redact PDF разделён на preview и apply. Preview показывает области красными прямоугольниками, а apply окончательно удаляет выбранное содержимое.
Правила редактирования передаются структурированным набором областей или найденных значений. Выход preview обязан пройти проверку до применения.
После OCR приложение находит фамилии, номера и другие значения, формирует области, оператор подтверждает их количество и расположение, затем запускается apply. После этого Extract Text проверяет отсутствие запрещённых строк.
Чёрная фигура поверх текста не равна redaction. Чувствительные данные могут остаться в метаданных, вложениях, комментариях, слоях или старых объектах инкрементального PDF.
Проверяют поиск, копирование, извлечение текста, растровый вид, метаданные, аннотации и вложения. Если ожидалось три области, а найдено другое число, процесс останавливается.
Цифровая подпись
Sign PDF применяет цифровую подпись с использованием учётных данных, например PFX, пароля и конфигурации видимого поля. Подпись подтверждает целостность состояния документа.
Передаются файл сертификата, секретная информация и параметры размещения подписи. Конкретные требования к цепочке доверия определяет принимающая система.
Все изменения, сжатие, объединение, водяной знак и шифрование завершают до подписи. Подписанный результат сразу скачивают и больше не пропускают через модифицирующие endpoints.
Даже визуально нейтральная линейзация или оптимизация меняет байты и способна сделать подпись недействительной. Сертификат может истечь или не быть доверенным у получателя.
Валидатор проверяет целостность, цепочку доверия, время и видимое поле. После любой вынужденной операции подпись проверяют заново, а исходный подписанный файл сохраняют.
Формы AcroForm и XFA
Import Form Data заполняет поля, Export Form Data извлекает значения, Flatten Forms превращает поля в обычное содержимое, а XFA to Acroforms повышает совместимость XFA-документов.
Для AcroForm применяются FDF, XFDF или XML, для XFA — XDP, XFD или XML. Имена полей в данных должны совпадать с внутренними именами формы.
Данные импортируют, затем экспортируют обратно для контрольного сравнения. После проверки flatten фиксирует значения для отправки, а интерактивная копия остаётся в защищённом хранилище.
Поля с одинаковыми внутренними именами могут отражать одно значение в нескольких местах. Сложная динамическая логика XFA не всегда имеет прямой эквивалент в AcroForm.
Тестируют национальные символы, длинные значения, даты, пустые поля, расчёты, повторяющиеся секции и подписи. Flatten выполняется только после подтверждения визуального и экспортированного результата.
PDF/A для архива
Convert to PDF/A переводит документ в профиль долговременного хранения. Выбор уровня зависит от требований архива, версии стандарта, допустимости вложений, тегов и структуры.
Конвертация может внедрять шрифты, нормализовать цвет, изменять недопустимые элементы и выдавать сведения о несоответствии. Профиль выбирается по правилам принимающей организации.
Исходник сохраняют неизменным, а архивную копию конвертируют и проверяют независимым валидатором. Скан перед этим проходит OCR, если архиву нужен поиск.
Успешное создание файла не означает соответствие конкретному регламенту. Повторная конвертация между профилями без анализа способна ухудшить документ.
Проверяют шрифты, цвет, прозрачности, метаданные, вложения, теги, число страниц и отчёт валидатора. Неизвестные ошибки отправляют оператору, а не исправляют случайным preset.
PDF/X, цвет и подготовка к печати
Convert to PDF/X создаёт полиграфический профиль, Convert PDF Colors применяет предустановки или ICC-профили, а Flatten Transparencies подготавливает сложные прозрачности для печатных процессов.
Требуются согласованные профиль PDF/X, выходной ICC, условия печати, разрешение штриховой графики, текста и градиентов. Цветовое преобразование может быть RGB-to-CMYK или в оттенки серого.
Сначала анализируют page boxes и цвет, затем исправляют геометрию, преобразуют цвет, при необходимости сводят прозрачности и создают PDF/X. Оператор получает контрольный рендер и отчёт.
PDF/X не исправляет низкое разрешение изображений, тонкие линии и неверный чёрный. Один универсальный CMYK не подходит всем машинам и бумагам.
Проверяют soft proof, пробный отпечаток, суммарное красочное покрытие, чистый чёрный мелкого текста, вылеты, обрезной формат и согласованность профиля с типографией.
Page Boxes, слои, аннотации и растрирование
Set Page Boxes управляет MediaBox, CropBox, BleedBox, TrimBox и ArtBox. Flatten Layers и Flatten Annotations сводят слои и комментарии в страницу, Rasterize PDF превращает страницы в растр.
Коробки задаются координатами и должны логически вкладываться. Для flatten и rasterize выбираются страницы и параметры качества, предусмотренные endpoint.
Перед печатью Query PDF получает текущие коробки, приложение применяет правила только к ожидаемому размеру. Слои сводят после согласования, а растрирование используют точечно для проблемной совместимости.
Неверный CropBox обрезает видимое содержимое, ошибочный TrimBox ломает обрезной формат. Flatten уничтожает редактируемость слоёв и аннотаций, rasterize убирает вектор, поиск и часть доступности.
Сравнивают физический размер, поля, вылет, видимость слоёв, аннотации, поиск и качество тонких линий. Все необратимые операции выполняют на производной копии.
Linearize PDF для веб-просмотра
Linearize PDF перестраивает файл для Fast Web View, чтобы первая страница могла отображаться до полной загрузки.
Операция работает с PDF и обычно выполняется ближе к завершению цепочки, потому что последующие изменения могут уничтожить линейность.
После сжатия и проверки создают linearized-копию, размещают на сервере с поддержкой byte-range и тестируют реальную загрузку через сеть.
Сама структура не ускорит просмотр, если сервер или CDN всегда отдаёт файл целиком. Подпись после линейзации возможна, но линейзация после подписи нарушит её.
Проверяют заголовки сервера, диапазонные запросы, время появления первой страницы, размер и отсутствие повреждения. Публичный файл размещают в собственном хранилище, а не по временной ссылке pdfRest.
Upload Files, ZIP и удаление
Upload Files создаёт ресурсы из локальных файлов или общедоступных адресов. Zip Files собирает несколько выходов, Unzip извлекает элементы, а Delete Files немедленно удаляет ресурсы.
URL должен быть доступен без интерактивной авторизации и не истечь до загрузки. Защищённый ZIP может потребовать пароль. Удаление выполняется по идентификаторам.
Пакет загружают один раз, используют ID в нескольких операциях, финальные файлы собирают в ZIP, скачивают, проверяют контрольные суммы и удаляют входы и выходы.
Архив способен содержать исполняемые файлы, вложенные архивы, zip bomb и небезопасные имена. URL может быть подменён или вернуть иной контент.
Ограничивают число файлов, распакованный объём, вложенность и allowlist расширений, проверяют сигнатуры, контрольные суммы и факт удаления. Пароль архива не попадает в журнал.
Интеграция с кодом, очередями и low-code
Официальные примеры охватывают cURL, JavaScript, Python, PHP, .NET и Java. После копирования пример превращают в отдельный клиент: централизуют базовый адрес, ключ, тайм-ауты, повторные попытки, разбор ошибок и безопасное логирование. Бизнес-код вызывает понятные методы, а не работает с заголовками каждого endpoint.
cURL удобен для воспроизводимого теста и заявки поддержки. В серверном JavaScript используют поток чтения, чтобы не держать крупный файл в памяти. В Python файл открывают в бинарном режиме и закрывают дескриптор. В .NET и Java повторно используют HTTP-клиент, иначе частое создание соединений приводит к исчерпанию сокетов.
Тайм-аут соединения отделяют от времени обработки. Короткий connect timeout быстро выявляет сетевую проблему, а долгую операцию переводят на requestId. Повторяют временные сетевые и серверные ошибки с экспоненциальной задержкой, но не повторяют 400 без изменения параметров и 401 без исправления ключа или пароля.
Очередь хранит состояния queued, processing, succeeded, failed, downloaded и deleted. Повтор после потери ответа требует осторожности: сервер мог выполнить операцию. Если идемпотентный ключ не предусмотрен, приложение сопоставляет собственный номер задания, время, endpoint и полученные resource ID.
Для no-code платформ действуют те же правила: секрет хранится в защищённом подключении, бинарный файл не превращают в base64 без необходимости, долгие операции используют опрос, а временный output скачивается до истечения. Коннектор возвращает файл, технический ID, размер и понятное сообщение об ошибке.
Параллелизм ограничивают по размеру и типу операции. Большой поток OCR и Office-конвертации способен исчерпать квоту, память и соединения. Очередь должна завершить следующий шаг до истечения промежуточного ресурса; иначе файл сохраняют у себя и загружают заново.


Безопасность, регионы и срок хранения
Облачная служба шифрует производственные тома AES-256 и использует TLS при передаче. Стандартный API размещён в AWS us-east-2, а европейский вариант работает в регионах Германии, Ирландии, Франции и Швеции. Для требования о размещении в ЕС запросы должны фактически уходить на EU endpoint; журналы и последующие системы также должны соблюдать политику.
Срок хранения зависит от плана: Starter — пять минут, Premium и Pro — тридцать минут, старшие варианты допускают настройку. После истечения входы и выходы удаляются без восстановления. Приложение скачивает результат сразу, проверяет целостность и только затем подтверждает завершение пользователю.
Role-based access ограничивает внутренний доступ, а производственные системы описываются как эфемерные без резервного копирования клиентских файлов сверх периода хранения. Решение об отправке медицинского, кадрового, банковского или судебного документа всё равно требует оценки DPA, региона, минимизации данных и правил удаления.
API-ключ рассматривают как пароль: разделяют по окружениям, ротируют, маскируют в журналах и не передают в URL. Публичный фронтенд обращается к собственному backend, который проверяет пользователя, лимитирует размер и только затем вызывает pdfRest.
Временный outputUrl не публикуют в аналитике, реферерах и общих чатах. Хотя скачивание resource не требует ключа, ссылка даёт доступ до истечения. Собственное хранилище должно применять авторизацию и короткоживущие ссылки, привязанные к пользователю.
Планы, квоты и пользовательские ограничения
Starter предназначен для тестирования: 100 API-вызовов в месяц, без перерасхода, водяной знак на файловом выводе и ограничение текстовых результатов. Жёсткий предел загрузки достигает 100 МБ, но срок хранения равен пяти минутам. Такой режим проверяет качество и интеграцию, но не подходит для незаметной выдачи документов конечным пользователям.
Premium включает 600 вызовов, полноценный вывод, мягкий включённый размер 5 МБ и жёсткий максимум 250 МБ. Pro включает 5000 вызовов, Pro Tools, мягкий размер 50 МБ и жёсткий максимум 500 МБ. Enterprise увеличивает включённые объёмы и допускает файлы до 1 ГБ. Актуальные сборы проверяют в кабинете.
Мягкий предел — объём, включённый в план; превышение до жёсткого порога создаёт доплату. Жёсткий предел превышать нельзя. До отправки приложение проверяет размер и предлагает разделить документ, уменьшить изображения или изменить план.
В статистику входят POST и GET request-status, потому что им нужен ключ. GET resource не учитывается. Слишком частый опрос расходует вызовы. В Starter после исчерпания новые запросы отклоняются до следующего календарного месяца; в платных планах перерасход оплачивается.
Pro Tools включают OCR, Word, Excel, PowerPoint, redaction, подпись, формы и AI-операции. На Premium они могут тарифицироваться отдельно, на Pro и Enterprise входят в план. Цепочка из нескольких Pro endpoint оплачивается по каждому вызову, поэтому Query PDF и условные ветви помогают не запускать ненужные операции.
Интерфейс API Lab и документация ориентированы на английский язык. Это не мешает обрабатывать кириллицу, но названия полей, ошибок и допустимых значений нельзя переводить в запросе. Пользователь, ожидающий визуальный редактор, столкнётся с параметрами, координатами и JSON, а не с привычным полотном.

Ошибки и способы устранения
400 Bad Request
Проверяют одновременную передачу file и id, обязательные поля, точные имена параметров, суффиксы [], диапазоны страниц, поддерживаемый формат, custom profile и допустимый шрифт. Запрос сравнивают с кодом API Lab. Локализованные названия значений не применяют.
401 Unauthorized
Проверяют API-ключ, пробелы, отзыв секрета и пароль защищённого PDF. Тело ответа различает неверный ключ и невозможность обработать password-protected файл. Пароль не выводят в исключении и журнале.
Ресурс не найден
Чаще всего истёк срок хранения или ресурс удалён. Include-File-Info помогает сохранить expires. Цепочку повторяют от последнего локально сохранённого файла; продлить временную ссылку нельзя.
Долгая операция
Используют requestId, разумный интервал опроса и ограничение параллелизма. Бесконечный тайм-аут скрывает зависание. После потери синхронного ответа проверяют журналы и ID до безусловного повторения.
Визуальное отличие
Для Office проверяют шрифты, locale и область печати; для HTML — layout и внешние ресурсы; для сжатия — профиль; для координат — origin и rotation; для OCR — язык, разрешение и ориентацию.
Рост размера
OCR добавляет текстовый слой, PDF/A внедряет шрифты, изображения высокого разрешения увеличивают выход. Query PDF и Include-File-Info помогают найти причину. Уменьшают конкретный ресурс или настраивают custom profile.
Неверный порядок страниц
Сверяют порядок повторяющихся file/id[], pages[] и type[]. Для каждого источника массивные параметры должны соответствовать. Формируют запрос из структурированного списка, а не вручную склеенной строки.
Не работает временная ссылка
Результат нужно скачать до истечения и разместить в собственном хранилище. Пользовательская страница не должна сохранять outputUrl на часы или дни.
Практические рабочие процессы
Пакет счетов
DOCX, XLSX, изображения чеков и PDF нормализуются. Сканы проходят OCR, Query PDF проверяет страницы и текст, outputId объединяются, затем создаются разные ветви: сжатая копия для отправки и PDF/A для архива. Водяной знак и шифрование применяются только к внешнему экземпляру.
Персонализированные договоры
Контролируемый шаблон заполняется Add Text, логотип или подпись вставляется Add Image, машинные данные прикладываются Add Attachment. Extract Text сверяет номер и стороны, redaction проходит preview и apply, цифровая подпись выполняется последней.
Архив электронной переписки
EML конвертируется, вложения отдельно проверяются и нормализуются, затем письмо и приложения объединяются. На первой странице добавляется внутренний номер. Сканированные вложения проходят OCR, финал — PDF/A и независимая валидация.
Обезличивание
OCR создаёт текст, приложение находит шаблоны и формирует области, оператор проверяет preview. После apply выполняется Extract Text, визуальный рендер, анализ метаданных, комментариев и вложений. Только затем документ сжимается.
Каталог для сайта
Query PDF анализирует вход, custom compression сохраняет закладки, Linearize PDF готовит Fast Web View, первая страница рендерится в миниатюру. Сервер проверяется на byte-range, а временные ссылки pdfRest не публикуются.
Полиграфический приём
Проверяются page boxes, цвет и прозрачности. Set Page Boxes исправляет геометрию, Convert PDF Colors применяет согласованный ICC, прозрачности сводятся при необходимости, затем создаётся PDF/X и контрольный рендер.
Поисковая база
Query PDF определяет сканы, OCR создаёт текст, Extract Text и PDF to Markdown формируют индекс с привязкой к страницам. Изменившиеся файлы определяются по контрольной сумме, а права индекса наследуют доступ оригинала.
Отчёт с таблицами
Create Blank PDF создаёт страницы, Add Shapes — панели, Add Text — заголовки, Add Tables — данные с переносом, Add Image — графики. Extract Text сверяет показатели, рендеринг сравнивается с эталоном, сжатие выполняется после утверждения.
Поток форм
XFA при необходимости переводится в AcroForm, Import Form Data заполняет шаблон, Export Form Data проверяет значения, Flatten Forms фиксирует отправляемую копию. Подпись ставится после flatten, интерактивный оригинал сохраняется отдельно.
Цепочка без промежуточных файлов
Документ загружается один раз. OCR, извлечение, сжатие, watermark и encrypt получают id предыдущего результата. Скачивается только финальный файл, затем все ресурсы удаляются. Состояние цепочки позволяет повторить шаг после ошибки.
Пакет изображений
ZIP распаковывается с лимитами, изображения конвертируются в PDF, страницы объединяются, затем создаётся компактная копия. Небезопасные типы и вложенные архивы блокируются.
Доставка защищённой копии
Финальный PDF получает персональный watermark, затем Restrict PDF и Encrypt PDF. Результат скачивается на backend, временный ресурс удаляется, а клиент получает собственную авторизованную ссылку.
Сравнение pdfRest с аналогами
| Программа | Лучше подходит для | Главное ограничение |
|---|---|---|
| pdfRest | Цепочек PDF-обработки, API Lab, форм, prepress и специализированных преобразований | Полноценный вывод и Pro-инструменты зависят от плана |
| PDF Commander | Ручного редактирования, объединения, конвертации и подписания с русским интерфейсом | Не заменяет серверный REST API для массовой автоматизации |
| PDF.co | Low-code автоматизации, извлечения данных, конвертации и множества интеграций | Кредитная модель требует расчёта стоимости цепочки |
| Adobe PDF Services API | Экосистемы Adobe, стандартных облачных операций, Extract и доступности | Для операций действуют лимиты размера, страниц и числа документов |
| iLoveAPI | Знакомых merge, split, compress, convert, edit и security через API | Кредиты расходуются по файлам, задачам или страницам |
pdfRest выбирают, когда важны API Lab, resource ID, XFA/AcroForm, добавление таблиц и объектов, PDF/A, PDF/X, page boxes, ICC и возможность перенести тот же класс API в контейнер или собственный AWS-контур. PDF Commander удобнее человеку, которому нужно вручную исправить текст, страницы или подпись. PDF.co привлекателен low-code экосистемой и извлечением, Adobe PDF Services — связью с сервисами Adobe, iLoveAPI — компактным набором знакомых операций.
Сравнивать нужно не количество пунктов, а полный маршрут: входной формат, предельный размер, число страниц, сохранение форм и подписей, регион, срок хранения, итоговый формат, число вызовов и цена ошибки. Для теста берут небольшой, средний и предельный документ каждого шаблона, оценивают визуально и автоматически, затем рассчитывают стоимость всей цепочки.
Подготовка внедрения и контроль качества
Сначала составляют матрицу документов: формат, средний и максимальный размер, страницы, пароль, сканы, формы, подписи, вложения, цвет и требуемый регион. Матрица показывает, где нужен OCR, где запрещено сжатие, где подпись должна быть последней и какие файлы превышают жёсткий предел.
Затем создают набор эталонов с кириллицей, таблицами, сложными шрифтами, прозрачностями, сканами, длинными формами и повреждёнными случаями. Для каждого сохраняют ожидаемое число страниц, контрольный текст, диапазон размера и визуальные снимки.
Архитектура разделяет приём файла, очередь, вызов pdfRest, скачивание, проверку, сохранение и удаление ресурсов. Пользователь не ждёт OCR в одном веб-запросе, а получает номер задания и состояние.
Ошибки делят на исправимые пользователем, временные сетевые и внутренние. Сообщение сообщает действие: снять пароль, уменьшить файл, исправить диапазон или повторить позже. Секреты и содержимое не показываются.
Метрики включают время загрузки и обработки, размер до и после, endpoint, регион, код ответа, повторы и долю ошибок. Отдельные сигналы предупреждают о квоте, росте размера, замедлении OCR и неудалённых ресурсах.
Успешный HTTP-ответ подтверждает выполнение endpoint, но не бизнес-корректность. Выпуск требует проверки числа страниц, текста, формы, подписи, цвета, геометрии либо другого критерия конкретного процесса.
Дополнительная диагностика сложных PDF
Повреждённый PDF может открываться в одном просмотрщике и одновременно нарушать строгие правила обработки. Сохраняют оригинал, создают восстановленную копию отдельным шагом и фиксируют изменение структуры, а не скрывают проблему случайным повторным сохранением.
Инкрементальный PDF содержит несколько состояний. Сжатие, flatten или redaction могут переписать структуру. Для судебного анализа оригинал хранится неизменным, а после redaction проверяются прежние объекты, вложения и метаданные.
Формы с одинаковыми внутренними именами полей отражают одно значение в нескольких местах. Импорт сверяют с экспортом и видом страницы. Flatten фиксирует отображение, но не исправляет ошибочную связь.
Многоязычный OCR путает похожие символы. Язык задают явно, смешанные страницы проверяют словарями, а коды и номера — шаблонами. Сомнительный фрагмент связывают с номером страницы.
Инженерные чертежи нельзя сжимать как обычные страницы. High делает тонкие линии нечитаемыми, а высокое разрешение рендера создаёт огромный файл. Для веба создают миниатюру, исходник сохраняют.
Подписанный PDF анализируют до операции. Даже линейзация меняет байты. Если требуется объединение подписанных частей, проверяют требования целевой системы и валидируют результат.
Файлы с вложениями не отправляют на high compression без анализа: специализированные объекты могут быть удалены. Обязательное вложение сверяют по контрольной сумме.
Ошибка PDF/A указывает на несоответствие профилю, а не обязательно на визуальную порчу. Отчёт разбирают по шрифтам, цвету, прозрачности, метаданным, вложениям и структуре.
RGB-to-CMYK зависит от профиля, машины и бумаги. Convert PDF Colors получает согласованный ICC, затем выполняются soft proof и пробный отпечаток. Универсальный CMYK не используется.
Визуальная таблица в PDF не обязана иметь логическую структуру. PDF to Excel реконструирует её эвристически. Проверяют колонки, типы данных, заголовки и суммы.
ZIP проверяют по сигнатуре, числу файлов, распакованному объёму, вложенности и именам. Наличие расширения PDF ещё не доказывает тип содержимого.
При merge одного повреждённого источника не выпускают частичный юридический пакет. Процесс останавливается, указывает источник и повторяет сборку после исправления.
Add Tables тестируют на первой странице переноса, последней короткой странице и очень высокой строке. Длинное содержимое может не помещаться даже при автоматическом продолжении.
Координаты Add Text для portrait, landscape и rotation различаются. Query PDF получает геометрию, а функция макета переводит логические координаты в систему страницы.
URL-to-PDF зависит от шрифтов, картинок, cookie-баннера, географии и ленивой загрузки. Для повторяемого архива лучше контролируемый HTML со встроенными ресурсами.
AI-суммирование и перевод требуют проверки терминов, чисел и имён. Вывод не заменяет оригинал, а конфиденциальность оценивается отдельно.
Для архива, сайта и клиента создают разные ветви от одного проверенного исходника. PDF/A, web-оптимизация и защищённая копия имеют несовместимые приоритеты.
Выборочный контроль допустим после накопления статистики. На старте проверяют каждый шаблон и крайний случай, затем автоматические правила блокируют аномалии.
В заявку поддержки включают endpoint, время, request ID, код ответа, имена параметров без секретов, размер и минимальный обезличенный пример. API-ключ на снимке скрывается.
Если outputId используется несколькими ветвями, ресурс удаляют только после последнего потребителя. Состояние цепочки должно предотвращать преждевременный DELETE.
Временная ссылка может попасть в браузерную историю или журнал прокси. Безопаснее скачивать результат сервером и выдавать собственную ссылку.
Сжатие после OCR может уменьшить изображение до уровня, при котором визуальная проверка ошибок затрудняется. Сначала подтверждают OCR, затем создают производную компактную копию.
PDF с JavaScript, мультимедиа и портфелями требует отдельной политики. High compression и flatten способны удалить функциональность, а некоторые просмотрщики её всё равно блокируют.
При добавлении шрифта нельзя полагаться на название семейства. Список поддерживаемых шрифтов сверяется с документацией, а кириллица проверяется на реальной строке.
После Convert to PDF/A или PDF/X нельзя автоматически применять ещё одну нормализацию без валидации: повторное преобразование меняет уже исправленные элементы.
Точные параметры и контроль отдельных endpoint
Convert to PDF может принимать HTML как файл или как URL, но эти варианты требуют разной диагностики. При файле все зависимости должны быть доступны из самого документа или общедоступной сети; при URL сервер получает текущую версию страницы. Для аудита сохраняют время обращения, выбранный web_layout и размер страницы. Страница, зависящая от cookie, геолокации или пользовательского клика, не считается стабильным источником для юридического архива.
При конвертации Excel locale влияет не на вычисление формул, а на визуальное представление региональных данных в созданном PDF. Перед выпуском проверяют десятичный разделитель, группировку тысяч, порядок дня и месяца, формат времени и валютные символы. Область печати, скрытые колонки и масштаб листа задаются в исходной книге, поэтому ошибочная подготовка XLSX останется видимой в PDF.
Tagged PDF следует включать только с пониманием структуры источника. Автоматически созданные теги полезны для экранных дикторов, но не гарантируют логичный порядок чтения сложной страницы. Проверяют заголовки, списки, подписи изображений, таблицы и язык документа. Если исходный Word использует ручное форматирование вместо стилей, дерево тегов может выглядеть формально полным и одновременно быть неудобным.
Merge PDFs допускает смешение file и id[] в одном запросе. Для каждого элемента pages[] и type[] должны следовать в том же порядке, что и источник. Удобнее строить multipart из списка объектов с полями source, type и pages, чем добавлять массивы независимыми циклами. Тогда перестановка одного документа автоматически переставляет связанные параметры и не создаёт тихую ошибку порядка.
Синтаксис pages полезен не только для выбора диапазона, но и для перестановки. Можно собрать титульный лист, затем последние приложения, затем основную часть. Однако повтор страницы увеличивает число листов и может дублировать поля форм. Перед merge приложение разворачивает выражение в ожидаемый список номеров и сравнивает его с фактическим числом страниц результата.
Split PDF может выдавать несколько ресурсов, поэтому модель ответа нельзя жёстко связывать с единственным outputId. Клиент сохраняет массив выходов вместе с диапазоном, который породил каждый файл. Имя output формируют так, чтобы часть была однозначна: номер пакета и номер диапазона. После скачивания части сортируют по метаданным, а не по лексикографическому порядку случайных UUID.
При Compress PDF custom profile передаётся как отдельная JSON-конфигурация. Если compression_level равен custom, профиль становится обязательным. Приложение валидирует JSON до отправки и хранит одобренные профили под внутренними именами. Пользователь не должен произвольно менять downsampling и удаление объектов в производственном интерфейсе, иначе одинаковые документы будут обрабатываться непредсказуемо.
Высокое сжатие может удалять встроенный JavaScript, закладки, миниатюры, альтернативные изображения, комментарии, вложения и другие объекты. Среднее и низкое имеют другой набор эффектов. Поэтому выбор уровня связывают с классом документа. Для скана без интерактивных элементов high допустим после визуального теста; для формы, портфеля или файла с вложениями нужен щадящий либо пользовательский профиль.
Параметры downsampling состоят как минимум из порогового и целевого разрешения. Картинка ниже порога не уменьшается; изображение выше порога приводится к target. Если порог поставлен слишком низко, повторно сожмутся уже оптимизированные изображения. Если слишком высоко, тяжёлые фотографии сохранят объём. Профиль тестируют на документах с разным исходным DPI, а не на одном файле.
Watermark PDF для изображения ожидает PDF-ресурс водяного знака. Это позволяет сохранить векторный логотип, но требует предварительной конвертации PNG или JPEG. В цепочке исходное изображение превращают в маленький PDF, запоминают его resource ID и повторно используют, пока он жив. Для длительных пакетных задач логотип хранят локально и загружают заново, а не полагаются на ID прошлого запуска.
Позиция текстового водяного знака зависит от координат и поворота страницы. Один и тот же x/y может выглядеть различно на A4 portrait, landscape и нестандартном CropBox. Для универсального процесса вычисляют центр по MediaBox или CropBox и учитывают rotation. Прозрачность выбирают так, чтобы знак оставался видимым после печати и не мешал OCR или чтению мелкого текста.
Add Text использует координатную систему с началом в левом нижнем углу. Если дизайнер передал координаты из интерфейса, где начало сверху, y нужно пересчитать через высоту страницы. Для повёрнутых страниц применяется дополнительное преобразование. В тестовом шаблоне размещают четыре маркера по углам, чтобы проверить ориентацию до вставки реальных персональных данных.
Add Image принимает размеры и положение, но качество зависит от исходного разрешения. Логотип размером 100 пикселей, растянутый на несколько дюймов, останется размытым независимо от PDF. Для печати вычисляют эффективный DPI как число пикселей, делённое на физический размер в дюймах. Для экрана следят за прозрачностью, цветом и пропорциями.
Add Tables поддерживает объединение строк и столбцов, изображения в ячейках, right-to-left содержимое и каскадные стили. При продолжении на следующей странице повторяются заданные элементы заголовка. Особое внимание уделяют строкам, которые выше доступной области: автоматический перенос страницы не обязан разделить одну неделимую ячейку. Длинный текст заранее дробят или помещают в отдельный раздел.
Redact preview не является очищенным документом. Он лишь показывает предполагаемые области. Нельзя выдавать preview получателю или считать его безопасным, потому что исходный текст всё ещё присутствует. Только результат apply проходит контроль извлечением текста, поиском, анализом метаданных и визуальным рендером. Preview хранится как чувствительный промежуточный ресурс и удаляется вместе с исходником.
При Sign PDF видимое поле подписи является лишь визуальным представлением. Юридическая и техническая проверка зависит от сертификата, цепочки доверия, времени и политики принимающей стороны. PFX и пароль хранятся отдельно от обычных файлов задания. Если подпись выполняется централизованно, доступ к ключу ограничивают отдельной ролью и журналируют факт операции без раскрытия секрета.
Import Form Data сопоставляет значения по внутренним именам полей. Видимая подпись рядом с полем не участвует в сопоставлении. Для шаблонов создают карту внутренних имён, типов и обязательности. После импорта Export Form Data должен вернуть ожидаемые значения. Если поле рассчитывается JavaScript-ом просмотрщика, серверное заполнение может не воспроизвести пользовательскую логику, поэтому итог проверяют.
XFA to Acroforms повышает совместимость, но динамические повторяющиеся секции и сценарии могут измениться. Перед миграцией собирают набор заполненных вариантов: минимальный, максимальный и с повторяющимися блоками. Сравнивают визуальный результат и экспорт данных. Если функция не имеет эквивалента, её переносят в приложение либо сохраняют XFA-оригинал как отдельную юридическую запись.
Set Page Boxes требует понимания назначения каждой коробки. MediaBox задаёт физическую страницу, CropBox — отображаемую область, TrimBox — конечный формат после обрезки, BleedBox — вылет, ArtBox — область произведения. Простое копирование одного прямоугольника во все поля может формально устранить расхождение и одновременно уничтожить вылеты или скрыть важное содержимое.
Flatten Annotations полезен, когда комментарии должны стать частью видимой страницы. Но после сведения нельзя изменить автора, текст заметки или состояние. Всплывающая заметка может не превратиться в ожидаемый вид, если её визуальное представление не задано. Перед flatten открывают документ в целевом просмотрщике и определяют, какие аннотации должны остаться отдельными, а какие — стать печатным содержимым.
Flatten Layers лишает пользователя возможности включать и выключать группы содержимого. В инженерных и картографических документах слои могут представлять дисциплины, варианты, языки или этапы. Сводить их можно только после выбора видимости. Процесс сохраняет список исходных слоёв и делает контрольный рендер до и после, чтобы скрытый слой случайно не попал в итог.
Rasterize PDF применяется, когда требуется зафиксировать внешний вид или обойти несовместимую структуру. Цена — потеря вектора, поиска, копирования, тегов и качества при масштабировании. Для каждой страницы выбирают разрешение по назначению. Растрирование не заменяет redaction: скрытый смысл может оставаться в метаданных и вложениях, а визуальный текст всё равно доступен через последующий OCR.
Convert PDF Colors с пользовательским ICC требует совместимого профиля и понимания intent. Профиль является частью производственной конфигурации и проверяется по контрольной сумме. Нельзя принимать произвольный ICC от пользователя без проверки. После преобразования анализируют spot colors, чёрный текст, прозрачности и изображения с собственными профилями.
Linearize PDF проверяют после размещения, а не только по структуре файла. Веб-сервер должен отвечать на Range и не заставлять CDN собирать весь объект. Тест выполняют с очищенным кэшем и ограниченной скоростью сети. Если первая страница всё равно появляется только после полной загрузки, исследуют заголовки, прокси и последующие модификации, которые могли снять линейность.
API Polling влияет на квоту, потому что request-status требует ключ. Частота в одну секунду для сотен задач создаёт тысячи лишних вызовов. Используют увеличивающуюся задержку и верхний предел ожидания, после которого задача переводится в состояние неопределённого результата для ручной проверки. GET resource после готовности не требует ключа, но временный URL всё равно защищают.
Delete Files вызывают после скачивания и проверки контрольной суммы. Если удалить ресурс сразу после получения HTTP 200 на скачивание, обрыв передачи может оставить неполный локальный файл без возможности повторить загрузку. Сначала поток полностью записывается, закрывается, размер сравнивается с ожидаемым, затем выполняется DELETE и фиксируется ответ.
Загрузка по URL удобна для публичных объектов, но сервер может получить не тот файл, который видел пользователь. Ссылка может перенаправить на HTML-страницу ошибки, измениться между проверкой и загрузкой или потребовать заголовки. Безопасный процесс проверяет Content-Type, размер, допустимый домен и контрольную сумму, а для критичных документов передаёт байты напрямую.
Unzip создаёт отдельные ресурсы для содержимого, но приложение должно относиться к архиву как к недоверенному вводу. Оно ограничивает суммарное распакованное отношение к исходному размеру, блокирует абсолютные пути и последовательности перехода каталогов, запрещает неизвестные расширения и повторно сканирует каждый файл. Пароль защищённого ZIP не сохраняют в обычном журнале.
AI-инструменты Summarize PDF и Translate PDF относятся к Pro Tools и возвращают текстовый результат. На бесплатном плане текст ограничивается редактированием, поэтому качество полного вывода нельзя оценивать только по Starter. Сводку и перевод связывают с исходным документом, языком, параметрами и временем обработки, а числа, имена и юридические формулировки проверяют человеком.
TDM Reserve PDF предназначен для машинного указания политики text and data mining. Он не шифрует документ и не блокирует обычное чтение. Перед применением определяют юридически корректную настройку политики и проверяют, что принимающая инфраструктура понимает метаданные. Отсутствие обязательной настройки приводит к 400, поэтому endpoint не используют как универсальную кнопку защиты.
Проверка стоимости и эксплуатационных рисков
Стоимость полного процесса считают по документу, а не по одному endpoint. Если вход проходит Query PDF, OCR, Extract Text, Merge, Compress и Watermark, каждый требующий ключа вызов учитывается отдельно; опрос request-status также расходует квоту. К расчёту добавляют Pro Tool, EU-вызовы и превышение мягкого лимита размера. Для каждого шаблона фиксируют среднее число вызовов и строят бюджет на месячный объём.
Приближение к месячному лимиту отслеживают собственной метрикой, потому что внезапный отказ Starter или неожиданный платный перерасход нарушит бизнес-процесс. Система устанавливает предупреждающий и блокирующий пороги, различает тестовое и производственное окружение и запрещает разработчикам использовать рабочий ключ для массовых экспериментов. Аномальный рост вызовов может указывать на бесконечный polling или повторную обработку.
Мягкий лимит размера требует отдельного контроля: файл может быть допустим по жёсткому максимуму и одновременно создать доплату. Перед загрузкой вычисляют объём каждого источника и ожидаемый месячный перерасход. ZIP оценивают по распакованному содержимому. Для крупных регулярных документов сравнивают стоимость облака, собственного AWS-развёртывания и контейнера с учётом эксплуатации, безопасности и масштабирования.
Эксплуатационный журнал связывает внутренний номер, endpoint, регион, время, размер входа и выхода, HTTP-код, request ID и факт удаления. Он не содержит API-ключа, паролей, временных ссылок и извлечённого текста. Такая запись позволяет найти повтор, подтвердить обработку в нужном регионе и восстановить цепочку из локального оригинала, не превращая журнал в копию конфиденциального документа.
Контрольный список перед отправкой
- Выберите file или resource ID и не передавайте оба.
- Проверьте формат, сигнатуру, размер и пароль до загрузки.
- Зафиксируйте US или EU endpoint в конфигурации.
- Проверьте запрос в API Lab и только затем переносите код.
- Для долгой операции используйте requestId и умеренный polling.
- Скачайте результат до expires и проверьте контрольную сумму.
- Выполните профильную проверку текста, форм, redaction, цвета или page boxes.
- Не изменяйте файл после цифровой подписи.
- Удалите временные ресурсы после сохранения.
- Не записывайте ключи, пароли, outputUrl и содержимое в обычные журналы.
При таком порядке pdfRest становится предсказуемым узлом документного процесса. API Lab показывает параметры и ответ, resource ID связывает этапы без лишнего трафика, специализированные endpoints решают задачи форм, безопасности, извлечения и полиграфии, а контроль квот, региона и срока хранения защищает от неожиданных отказов. Качество определяется не одним кодом 200, а корректным маршрутом, проверенными настройками и автоматической валидацией результата.