Страница по адресу
Передайте ссылку в поле url, сервис откроет страницу в Chromium и вернёт её в виде PDF, как если бы вы сохранили её через печать в браузере. Доступен на тарифах Premium и Business.
Проверьте, что страница публичная#
Рендер открывает адрес без ваших cookie и заголовков, как обычный посетитель, который зашёл впервые на сайт. Закрытые страницы (с логином) по url не отрендерить: в PDF попадёт лишь форма входа. Сформируйте HTML на своей стороне и прикрепите его как html.
Отправьте адрес#
Адрес принимается только полный с https://. Пробелы по краям автоматически срезаются.
curl -X POST https://pdfapi.ru/api/v1/convert \
-H "Authorization: Bearer $PDFAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"source":"url","url":"https://example.com","options":{"landscape":true,"waitDelay":"1s"}}' \
-o page.pdfПозвольте скриптам дорисовать страницу#
Одностраничные приложения, графики и данные по fetch появляются не моментально, на помощь приходит waitDelay, который откладывает печать до 10 секунд. Начните с 1s и увеличивайте при необходимости.
Какие адреса запрещены#
Адреса, используемые во внутренних сетях, такие как localhost, 127.0.0.1, 10.x, 172.16–31.x, 192.168.x, 169.254.169.254, отклоняются с кодом и сообщением 400 url_not_allowed, даже если к ним ведёт обычное доменное имя.
Адрес без http:// или https:// тоже вернёт url_not_allowed. Библиотеки pdfapi предусмотрели такого рода сценарий, так что ловят такую ошибку ещё до запроса.
Если страница грузится долго#
Рендер ждёт не больше 30 секунд. Тяжёлая страница с десятками скриптов может не успеть — тогда придёт 504 render_timeout, страницы в таком случае не спишутся. Уберите лишнее через @media print в своем документе или отправьте HTML без скриптов.