This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

PDF to Image

Перетворюйте сторінки PDF на високоякісні растрові зображення. Підтримує вибір сторінок, кілька вихідних форматів, керування DPI та колірні режими. Включає підмаршрути info та preview для перевірки PDF перед перетворенням.

API Endpoint

POST /api/v1/tools/pdf/pdf-to-image

Parameters

ParameterTypeRequiredDefaultDescription
formatstringNo"png"Вихідний формат: png, jpg, webp, avif, tiff, gif, heic, heif, jxl
dpinumberNo150Роздільна здатність рендерингу (від 36 до 2400). Вищий DPI дає більші, детальніші зображення.
qualitynumberNo85Якість виводу для форматів із втратами (від 1 до 100)
colorModestringNo"color"Колірний режим: color, grayscale, bw (чорно-білий поріг)
pagesstringNo"all"Вибір сторінок: all, одна сторінка (3), діапазон (1-5) або через кому (1,3,5-8)

Example Request

bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-image \
  -F "[email protected]" \
  -F 'settings={"format":"png","dpi":300,"pages":"1-3","colorMode":"color"}'

Example Response

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "pageCount": 10,
  "selectedPages": [1, 2, 3],
  "format": "png",
  "pages": [
    {
      "page": 1,
      "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/page-1.png",
      "size": 234567
    },
    {
      "page": 2,
      "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/page-2.png",
      "size": 198765
    },
    {
      "page": 3,
      "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/page-3.png",
      "size": 210456
    }
  ],
  "zipUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/pdf-pages.zip",
  "zipSize": 612345
}

Info Sub-Route

POST /api/v1/tools/pdf/pdf-to-image/info

Повертає кількість сторінок PDF без рендерингу жодної сторінки.

Info Request

bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-image/info \
  -F "[email protected]"

Info Response

json
{
  "pageCount": 10
}

Preview Sub-Route

POST /api/v1/tools/pdf/pdf-to-image/preview

Повертає ескізи всіх сторінок у низькій роздільній здатності у форматі JPEG як base64 data URL. Корисно для побудови інтерфейсу вибору сторінок.

Preview Request

bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-image/preview \
  -F "[email protected]"

Preview Response

json
{
  "pageCount": 10,
  "thumbnails": [
    {
      "page": 1,
      "dataUrl": "data:image/jpeg;base64,/9j/4AAQ...",
      "width": 300,
      "height": 424
    },
    {
      "page": 2,
      "dataUrl": "data:image/jpeg;base64,/9j/4AAQ...",
      "width": 300,
      "height": 424
    }
  ]
}

Notes

  • Використовує MuPDF для рендерингу PDF, забезпечуючи високоточний вивід із коректним рендерингом шрифтів та векторної графіки.
  • PDF, захищені паролем, не підтримуються та повертатимуть помилку 400.
  • Параметр pages підтримує гнучкий синтаксис:
    • "all" або "" - усі сторінки
    • "3" - одна сторінка
    • "1-5" - діапазон сторінок (включно)
    • "1,3,5-8" - змішані окремі сторінки та діапазони
  • Номери сторінок починаються з 1. Указання сторінок за межами довжини документа повертає помилку 400.
  • Основна кінцева точка завжди генерує як завантаження окремих сторінок, так і ZIP, що містить усі вибрані сторінки.
  • Кінцева точка preview рендерить при 72 DPI та масштабує до ширини 300px для швидкої генерації ескізів. Ескізи мають формат JPEG з якістю 60%.
  • Кінцева точка preview враховує конфігурацію сервера MAX_PDF_PAGES, обмежуючи кількість згенерованих ескізів.
  • Для великих документів у високому DPI час опрацювання зростає пропорційно. Розгляньте використання нижчого DPI (150) для вебу та вищого DPI (300-600) для друку.