Ana içeriğe geç
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

Parametreler

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.

Örnekler

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

Yanıt

Başarılı olduğunda (200): dönüştürülmüş dosyanın ham baytları, buna uygun Content-Type ve Content-Disposition başlıklarıyla birlikte döner. Başarısız olduğunda: {"error": {"code": "...", "message": "..."}} şeklinde bir JSON gövdesi, eşleşen bir HTTP durum koduyla birlikte döner — aşağıdaki Hatalar bölümüne bakın.

Header Value
Content-TypeDönüştürülmüş dosyanın gerçek MIME türü (ör. image/png, application/pdf).
Content-Dispositionattachment; filename="..." — herhangi bir dosya indirmesinde olduğu gibi önerilen bir dosya adı.
Content-LengthYanıt gövdesinin bayt cinsinden boyutu.
X-Original-SizeSıkıştırmadan önce yüklenen dosyanın bayt cinsinden boyutu.
X-Saved-PercentSonucun orijinalden yaklaşık ne kadar küçük olduğu, tam sayı yüzde olarak (0 olabilir).

Her hata aynı JSON yapısını izler, örneğin kota aşıldığında:

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

Hatalar

Her başarısızlık, kodunuzun dallanabileceği bir "code" ile birlikte insan tarafından okunabilir bir "message" içeren bir JSON hata zarfı döndürür. Bazı hatalar ek alanlar içerir (örneğin quota_exceeded, "limit" ve "used" içerir).

Status & code When it happens
401 missing_keyAuthorization başlığı gönderilmedi.
401 invalid_keyAnahtar mevcut değil veya iptal edilmiş.
403 account_suspendedBu anahtara sahip hesap askıya alınmış.
403 plan_requiredHesap Free planında — API erişimi Basic, Lite, Pro veya Team gerektirir.
400 invalid_category"category", "image" veya "document" değildi.
400 no_fileDosya gönderilmedi veya yükleme başarısız oldu — alanın adı "file" olmalı.
413 file_too_largeDosya, planınızın izin verdiği en büyük yükleme boyutunu aşıyor.
429 quota_exceededPlanın aylık dönüştürme dakikası kotası tükendi. Bir sonraki takvim ayının başında sıfırlanır.
429 concurrency_limitBu hesap için aynı anda çalışan çok fazla dönüştürme var (web sitesiyle paylaşılır) — birinin bitmesini bekleyip tekrar deneyin.
422 conversion_failedDosyanın kendisi dönüştürülemedi — "message" nedenini açıklar. Durum kodu nedene göre değişir: 400/415/422, dosyanın veya hedefin kaç kez denerseniz deneyin çalışmayacağı anlamına gelir; 500/503 sunucu tarafında bir sorun olduğunu gösterir, özellikle 503 için kısa bir yeniden deneme mantıklıdır.

Supported formats

PDF

İlgili