Utilisez la conversion PDFtoSCAN depuis vos applications. Toutes les requêtes nécessitent une clé API (obtenez-en une après inscription).
Tous les endpoints sont relatifs à :
https://pdftoscan.com/api/v1
Incluez votre clé API dans chaque requête avec l'une de ces méthodes :
Header X-API-Key: votre-clé-apiHeader Authorization: Bearer votre-clé-apiPour obtenir une clé API : inscription, puis dans votre Espace client générez une nouvelle clé. Elle n'est affichée qu'une fois—conservez-la en lieu sûr.
Envoyez un PDF ou une image, ou l'URL d'un fichier, et recevez un PDF avec aspect numérisé (inclinaison, bruit, fond sale optionnel, A4 optionnel).
multipart/form-data (ou application/x-www-form-urlencoded avec file_url vous pouvez utiliser application/x-www-form-urlencoded)| Paramètre | Type | Requis | Description |
|---|---|---|---|
file ou pdf |
file | Non | Fichier PDF, JPG, PNG, TIFF ou WebP à convertir (upload). Utilisez file ou file_url. |
file_url |
string | Non | URL HTTP(S) d'un PDF ou image à convertir. Utilisez l'upload ou file_url (max 50 Mo, timeout 30 s). |
color_mode |
string | Non | color ou bw. Par défaut : bw (noir et blanc). |
rotate |
number | Non | Inclinaison en degrés (-1.5 à 1.5). Par défaut : 0. |
noise |
number | Non | Quantité de bruit 0–1. Par défaut : 0.1 (10 %). |
dirty_background |
string | Non | 1 (par défaut) pour bords noirs sales, 0 pour désactiver. |
force_a4 |
string | Non | 1 (par défaut) pour A4, 0 pour taille d'origine. |
Succès (200) : le body est le fichier PDF.
Erreur (4xx/5xx) : body JSON : {"ok": false, "error": "message"}
| Code | Signification |
|---|---|
| 200 | Succès — la réponse est le PDF. |
| 400 | Requête invalide — fichier manquant, mauvais format ou erreur d'envoi. |
| 401 | Non autorisé — clé API manquante ou invalide. |
| 405 | Méthode non autorisée — utilisez POST. |
| 500 | Erreur serveur — échec de la conversion. |
| 503 | Service indisponible — conversion non disponible sur le serveur. |
Envoyer un fichier :
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
Ou envoyer l'URL d'un fichier :
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)
Les requêtes depuis le navigateur sont autorisées depuis toute origine. Les requêtes OPTIONS de preflight sont prises en charge.
Chaque conversion est comptée par clé API. Dans votre espace client vous pouvez voir l'utilisation totale et sur les 7 et 30 derniers jours. Aucune limite de débit intégrée ; les limites d'upload et de ressources du serveur s'appliquent.
Entrée : PDF, JPG, JPEG, PNG, TIFF, WebP.
Sortie : Toujours PDF (avec aspect numérisé).
© 2026 PDFtoSCAN · Tarifs · Comment ça marche · Cas d'usage · Éditeur avancé · Cam Scanner · API v1