Vai al contenuto principale
TransConvert

PDF Compression API

Shrink PDF files with one POST request via Ghostscript's own recompression — pick a quality level, optionally convert to grayscale, and never get back a file bigger than what you uploaded.

POST https://transconvert.com/api/v1/convert.php

Parametri

Field Description
AuthorizationRequired. "Bearer tc_live_...".
categorySet to "document-compress".
levelOptional: "low", "medium" (default), "high", or "none".
grayscaleOptional. "1" to also convert to grayscale; omit for full color.
fileRequired. A PDF that is not open/password-protected.

Esempi

TransConvert
curl -X POST \
  https://transconvert.com/api/v1/convert.php \
  -H "Authorization: Bearer tc_live_your_key_here" \
  -F "category=document-compress" \
  -F "level=high" \
  -F "file=@report.pdf" \
  -o output.pdf

Risposta

In caso di successo (200): i byte grezzi del file convertito, con gli header Content-Type e Content-Disposition impostati di conseguenza. In caso di errore: un corpo JSON con la forma {"error": {"code": "...", "message": "..."}} e un codice di stato HTTP corrispondente — vedi Errori qui sotto.

Header Value
Content-TypeIl vero tipo MIME del file convertito (es. image/png, application/pdf).
Content-Dispositionattachment; filename="..." — un nome file suggerito, come in qualsiasi download di file.
Content-LengthDimensione del corpo della risposta in byte.
X-Original-SizeLa dimensione del file caricato in byte, prima della compressione.
X-Saved-PercentUna stima approssimativa di quanto è più piccolo il risultato rispetto all'originale, come percentuale intera (può essere 0).

Ogni errore segue la stessa struttura JSON, ad esempio nel caso di una quota superata:

429 Too Many Requests
{
  "error": {
    "code": "quota_exceeded",
    "message": "Monthly API allowance of 5000 conversion-minutes reached.",
    "limit": 5000,
    "used": 5000
  }
}

Errori

Ogni errore restituisce un involucro JSON con un "code" su cui il tuo codice può ramificarsi, più un "message" leggibile. Alcuni errori includono campi aggiuntivi (quota_exceeded include ad esempio "limit" e "used").

Status & code When it happens
401 missing_keyNon è stato inviato alcun header Authorization.
401 invalid_keyLa chiave non esiste, oppure è stata revocata.
403 account_suspendedL'account proprietario di questa chiave è sospeso.
403 plan_requiredL'account è sul piano Free — l'accesso API richiede Basic, Lite, Pro o Team.
400 invalid_category"category" non era "image" né "document".
400 no_fileNon è stato inviato alcun file, oppure l'upload è fallito — il campo deve chiamarsi "file".
413 file_too_largeIl file supera la dimensione massima di caricamento del tuo piano.
429 quota_exceededLa quota mensile di minuti di conversione del piano è esaurita. Si azzera all'inizio del mese solare successivo.
429 concurrency_limitTroppe conversioni già in corso contemporaneamente per questo account (condiviso con il sito) — attendi che una finisca e riprova.
422 conversion_failedIl file stesso non è stato convertibile — "message" spiega il motivo. Il codice di stato varia in base al motivo: 400/415/422 indicano che il file o il target non funzioneranno indipendentemente da quanti tentativi fai; 500/503 indicano un problema lato server, e in particolare il 503 vale la pena riprovarlo dopo poco.

Supported formats

PDF

Correlati