Files
SnapOtter/apps/docs/id/tools/pdf/compress-pdf.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

2.1 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Perkecil ukuran file PDF dengan mengompresi gambar yang tertanam. a8bb0baaca25 human 3e03cf496906

Compress PDF

Kurangi ukuran file PDF dengan menurunkan resolusi gambar yang tertanam. Pilih antara penggeser kualitas atau ukuran file target.

API Endpoint

POST /api/v1/tools/pdf/compress-pdf

Menerima data form multipart berisi file PDF dan sebuah field JSON settings.

Parameters

Parameter Type Required Default Description
mode string No "quality" Mode kompresi: quality atau targetSize
quality integer No 75 Kualitas kompresi, 1-100 (lebih tinggi = kompresi lebih sedikit). Digunakan dalam mode quality
targetSizeKb number No - Ukuran file target dalam kilobyte. Digunakan dalam mode targetSize

Example Request

Kompresi berdasarkan kualitas:

curl -X POST http://localhost:1349/api/v1/tools/pdf/compress-pdf \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@document.pdf" \
  -F 'settings={"mode": "quality", "quality": 60}'

Kompresi ke ukuran target:

curl -X POST http://localhost:1349/api/v1/tools/pdf/compress-pdf \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@document.pdf" \
  -F 'settings={"mode": "targetSize", "targetSizeKb": 500}'

Example Response

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
  "originalSize": 5200000,
  "processedSize": 1800000
}

Notes

  • Dalam mode quality, nilai yang lebih rendah menghasilkan file yang lebih kecil dengan degradasi gambar yang lebih besar.
  • Dalam mode targetSize, pencarian biner menemukan DPI tertinggi yang sesuai dengan ukuran yang diminta.
  • Jika kompresi malah memperbesar file, byte asli dikembalikan tanpa perubahan.
  • Konten teks dan vektor tidak terpengaruh; hanya gambar raster yang tertanam yang diturunkan resolusinya.