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

PDF to Image

Konversi halaman PDF menjadi gambar raster berkualitas tinggi. Mendukung pemilihan halaman, beberapa format output, kontrol DPI, dan mode warna. Termasuk sub-rute info dan preview untuk memeriksa PDF sebelum konversi.

API Endpoint

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

Parameters

ParameterTypeRequiredDefaultDescription
formatstringNo"png"Format output: png, jpg, webp, avif, tiff, gif, heic, heif, jxl
dpinumberNo150Resolusi render (36 sampai 2400). DPI yang lebih tinggi menghasilkan gambar yang lebih besar dan lebih detail.
qualitynumberNo85Kualitas output untuk format lossy (1 sampai 100)
colorModestringNo"color"Mode warna: color, grayscale, bw (ambang hitam dan putih)
pagesstringNo"all"Pemilihan halaman: all, satu halaman (3), rentang (1-5), atau dipisahkan koma (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

Mengembalikan jumlah halaman PDF tanpa merender halaman apa pun.

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

Mengembalikan thumbnail JPEG resolusi rendah dari semua halaman sebagai URL data base64. Berguna untuk membangun UI pemilihan halaman.

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

  • Menggunakan MuPDF untuk merender PDF, memberikan output berkualitas tinggi dengan rendering font dan grafik vektor yang benar.
  • PDF yang dilindungi kata sandi tidak didukung dan akan mengembalikan error 400.
  • Parameter pages mendukung sintaks yang fleksibel:
    • "all" atau "" - semua halaman
    • "3" - satu halaman
    • "1-5" - rentang halaman (inklusif)
    • "1,3,5-8" - campuran halaman individual dan rentang
  • Nomor halaman berbasis 1. Menentukan halaman melebihi panjang dokumen akan mengembalikan error 400.
  • Endpoint utama selalu menghasilkan unduhan halaman individual sekaligus ZIP yang berisi semua halaman yang dipilih.
  • Endpoint preview merender pada 72 DPI dan menskalakan ke lebar 300px untuk pembuatan thumbnail yang cepat. Thumbnail berupa JPEG dengan kualitas 60%.
  • Endpoint preview menghormati konfigurasi server MAX_PDF_PAGES, membatasi berapa banyak thumbnail yang dihasilkan.
  • Untuk dokumen besar pada DPI tinggi, waktu pemrosesan meningkat secara proporsional. Pertimbangkan menggunakan DPI lebih rendah (150) untuk penggunaan web dan DPI lebih tinggi (300-600) untuk cetak.