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

Sign PDF

Cap satu atau lebih gambar PNG tanda tangan yang diunggah ke halaman mana pun dalam PDF. Rute ini menggunakan kontrak multipart khusus karena membutuhkan PDF, satu atau lebih gambar tanda tangan, dan koordinat penempatan.

API Endpoint

POST /api/v1/tools/pdf/sign-pdf

Menerima data form multipart. PDF dikirim sebagai file; tanda tangan dikirim sebagai sig0, sig1, dan seterusnya; penempatan dikirim dalam field JSON placements.

Parameters

ParameterTypeRequiredDefaultDescription
filefileYes-File PDF yang akan ditandatangani
sig0fileYes-Gambar tanda tangan pertama. Gambar tambahan menggunakan sig1, sig2, dan seterusnya
placementsJSON stringYes-Array objek penempatan: { "sig": 0, "page": 0, "x": 0.2, "y": 0.7, "w": 0.25, "h": 0.08 }
clientJobIdstringNo-UUID opsional untuk pelacakan progres melalui SSE
fileIdstringNo-ID pustaka file opsional untuk menyimpan hasil yang ditandatangani sebagai versi baru

Placement Coordinates

FieldTypeDescription
sigintegerIndeks gambar tanda tangan. 0 dipetakan ke sig0
pageintegerIndeks halaman PDF berbasis nol
xnumberPosisi kiri sebagai fraksi halaman
ynumberPosisi atas sebagai fraksi halaman
wnumberLebar tanda tangan sebagai fraksi halaman
hnumberTinggi tanda tangan sebagai fraksi halaman

Koordinat menggunakan titik asal kiri-atas. Nilai mungkin sedikit melampaui tepi halaman; perender PDF memotong cap akhir agar sesuai halaman.

Example Request

bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/sign-pdf \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'placements=[{"sig":0,"page":0,"x":0.64,"y":0.82,"w":0.22,"h":0.08}]'

Example Response

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/contract_signed.pdf",
  "previewUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/preview.png",
  "originalSize": 245000,
  "processedSize": 249000
}

Jika permintaan tidak dapat selesai dalam jendela tunggu sinkron, API mengembalikan:

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

Sambungkan ke /api/v1/jobs/<jobId>/progress dan unduh hasilnya saat job selesai.

Notes

  • Format input PDF yang diterima: .pdf.
  • Gambar tanda tangan harus berupa file gambar yang valid, biasanya PNG dengan transparansi.
  • Hingga 100 gambar tanda tangan dan 100 penempatan diterima.
  • sign-pdf adalah rute khusus dan tidak menggunakan field JSON settings alat standar.