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

PDF

Генерация PDF-документов из веб-страниц через headless Chromium. Запросы выполняются с российских серверов — сайты отдают локализованный контент, корректные цены в рублях и российскую выдачу. 100% совместимость с Browserless.io — drop-in замена для существующих интеграций.

МетодЭндпоинтОписание
POST/v1/browser/pdfBrowserless-совместимый API

API возвращает бинарный PDF напрямую (не JSON с URL).

Окно терминала
# Базовый PDF
curl -X POST "https://proxy.unoapi.ru/v1/browser/pdf" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}' \
--output page.pdf
# С параметрами
curl -X POST "https://proxy.unoapi.ru/v1/browser/pdf" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"options": {
"format": "A4",
"landscape": false,
"printBackground": true,
"margin": {"top": "1cm", "right": "1cm", "bottom": "1cm", "left": "1cm"}
}
}' \
--output page.pdf

Основные параметры в объекте options:

  • format — размер страницы: A0A6, Letter, Legal, Tabloid, Ledger (по умолчанию Letter)
  • landscape — альбомная ориентация (по умолчанию false)
  • scale — масштаб от 0.1 до 2 (по умолчанию 1)
  • printBackground — печатать фоновые стили (по умолчанию false)
  • displayHeaderFooter — отображать колонтитулы (по умолчанию false)
  • headerTemplate / footerTemplate — HTML-шаблоны колонтитулов
  • margin — отступы: { top, right, bottom, left } (например "1cm", "10px")
  • pageRanges — диапазон страниц (например "1-3", "1,3,5")
  • width / height — переопределение размера страницы (например "8.5in")
  • preferCSSPageSize — использовать CSS @page размер
  • omitBackground — прозрачный фон

Шаблоны поддерживают специальные CSS-классы:

  • .date — текущая дата
  • .title — заголовок документа
  • .url — URL документа
  • .pageNumber — номер текущей страницы
  • .totalPages — общее количество страниц
{
"url": "https://example.com",
"options": {
"displayHeaderFooter": true,
"headerTemplate": "<div style='font-size:10px; text-align:center; width:100%;'>Отчёт</div>",
"footerTemplate": "<div style='font-size:10px; text-align:center; width:100%;'>Стр. <span class='pageNumber'></span> из <span class='totalPages'></span></div>",
"margin": {"top": "2cm", "bottom": "2cm"}
}
}
  • X-Response-Code — HTTP-код ответа целевой страницы
  • X-Response-Status — текстовый статус ответа
  • X-Response-URL — финальный URL после редиректов

Вместо URL можно передать HTML-контент напрямую:

Окно терминала
curl -X POST "https://proxy.unoapi.ru/v1/browser/pdf" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"html": "<html><body><h1>Отчёт</h1><p>Содержимое отчёта</p></body></html>",
"options": {"format": "A4", "printBackground": true}
}' \
--output report.pdf

API блокирует небезопасные URL: localhost, приватные IP, .local домены.

https://chrome.browserless.io/pdf
https://proxy.unoapi.ru/v1/browser/pdf

Формат запроса и ответа полностью совместим.