Usa la conversione PDFtoSCAN dalle tue applicazioni. Tutte le richieste API richiedono una API key (ottienine una dopo registrazione).
Tutti gli endpoint sono relativi a:
https://pdftoscan.com/api/v1
Includi la tua API key in ogni richiesta con uno di questi metodi:
Header X-API-Key: tua-api-keyHeader Authorization: Bearer tua-api-keyPer ottenere una API key: registrazione, poi nella tua Area personale genera una nuova chiave. La chiave viene mostrata una sola volta—conservala in modo sicuro.
Carica un PDF o un'immagine, oppure invia l'URL di un file, e ricevi un PDF con aspetto scansionato (inclinazione, rumore, sfondo sporco opzionale, A4 opzionale).
multipart/form-data (o application/x-www-form-urlencoded con file_url puoi usare application/x-www-form-urlencoded)| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
file o pdf |
file | No | File PDF, JPG, PNG, TIFF o WebP da convertire (upload). Usa file o file_url. |
file_url |
string | No | URL HTTP(S) di un PDF o immagine da convertire. Usa upload file o file_url (max 50 MB, timeout 30 s). |
color_mode |
string | No | color o bw. Predefinito: bw (bianco e nero). |
rotate |
number | No | Inclinazione pagina in gradi (-1.5 a 1.5). Predefinito: 0. |
noise |
number | No | Quantità rumore 0–1. Predefinito: 0.1 (10%). |
dirty_background |
string | No | 1 (predefinito) per bordi neri sporchi, 0 per disattivare. |
force_a4 |
string | No | 1 (predefinito) per adattare a A4, 0 per dimensione originale. |
Successo (200): Il body è il file PDF. Salva o inoltra il contenuto binario.
Errore (4xx/5xx): Body JSON: {"ok": false, "error": "messaggio"}
| Code | Significato |
|---|---|
| 200 | Successo — la risposta è il PDF. |
| 400 | Richiesta non valida — file mancante, formato errato o errore di upload. |
| 401 | Non autorizzato — API key mancante o non valida. |
| 405 | Metodo non consentito — usa POST. |
| 500 | Errore server — conversione fallita. |
| 503 | Servizio non disponibile — conversione non disponibile sul server. |
Carica un file:
curl -X POST "https://pdftoscan.com/api/v1/convert.php" \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@/path/to/document.pdf" \
-F "color_mode=bw" \
-F "force_a4=1" \
-o scanned.pdf
Oppure invia l'URL di un file:
curl -X POST "https://pdftoscan.com/api/v1/convert.php" \
-H "X-API-Key: YOUR_API_KEY" \
-d "file_url=https://example.com/document.pdf" \
-d "color_mode=bw" \
-d "force_a4=1" \
-o scanned.pdf
const formData = new FormData();
formData.append('file', fileInput.files[0]);
formData.append('color_mode', 'bw');
formData.append('force_a4', '1');
const response = await fetch('https://pdftoscan.com/api/v1/convert.php', {
method: 'POST',
headers: { 'X-API-Key': 'YOUR_API_KEY' },
body: formData
});
if (!response.ok) {
const err = await response.json();
throw new Error(err.error || 'Request failed');
}
const blob = await response.blob();
// e.g. save or open blob as PDF
import requests
url = 'https://pdftoscan.com/api/v1/convert.php'
headers = {'X-API-Key': 'YOUR_API_KEY'}
files = {'file': open('document.pdf', 'rb')}
data = {'color_mode': 'bw', 'force_a4': '1'}
r = requests.post(url, headers=headers, files=files, data=data)
if r.status_code != 200:
print(r.json().get('error', 'Error'))
else:
with open('scanned.pdf', 'wb') as f:
f.write(r.content)
Le richieste dal browser sono consentite da qualsiasi origine. Le richieste OPTIONS di preflight sono supportate.
Ogni conversione viene conteggiata per API key. Nell'area personale puoi vedere l'utilizzo totale e negli ultimi 7 e 30 giorni. Non ci sono limiti di rate integrati; si applicano i limiti di upload e risorse del server.
Input: PDF, JPG, JPEG, PNG, TIFF, WebP.
Output: Sempre PDF (con aspetto scansionato).
© 2026 PDFtoSCAN · Prezzi · Come funziona · Casi d'uso · Editor avanzato · Cam Scanner · API v1