OCR de PDF
L’OCR de PDF lit le texte d’un document numérisé, là où le simple copier-coller échoue parce que chaque page n’est en réalité qu’une image. Il parcourt le fichier page par page et vous rend un texte sélectionnable, corrigeable et réutilisable, en respectant l’ordre des pages d’origine.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Pourquoi un PDF « refuse » d’être copié
Un PDF issu d’un scanner ou d’une photo n’est souvent qu’une suite d’images : à l’œil, on lit le texte, mais la machine n’y voit que des points. C’est pourquoi la sélection à la souris ne prend rien, ou renvoie du charabia. L’OCR reconstruit la couche de texte manquante : il analyse chaque page comme une image, reconnaît les caractères, et vous rend un contenu que vous pouvez enfin chercher, copier et coller ailleurs.
Page après page, dans l’ordre
Le document est traité dans sa séquence exacte, sans réorganiser ni fusionner quoi que ce soit. Vous retrouvez le texte de la page 1, puis de la page 2, jusqu’à la dernière, ce qui préserve la structure d’un rapport, d’un courrier ou d’un dossier. La reconnaissance porte sur le texte imprimé ; les tampons, signatures manuscrites et griffonnages en marge ne sont pas transcrits. La limite est de 10 pages et 25 Mo par document.
Combien ça coûte, et par quels canaux
La tarification est simple et publique : $0.010 par requête, plus $0.0575 par page traitée, en dollars US. Vous ne payez donc que les pages réellement analysées. L’outil s’exécute sur cette page, mais aussi via l’API pour automatiser un flux régulier, et bientôt depuis les applications mobiles. Le traitement est asynchrone : vous déposez le PDF, une tâche démarre, et le texte devient disponible dès qu’elle se termine.
Cas d’usage
Un vieux courrier administratif numérisé
Nadia Benali a scanné une décision reçue par voie postale, mais impossible d’en copier une ligne. L’OCR lui rend le texte complet, qu’elle peut citer mot pour mot dans sa réponse plutôt que de tout retaper.
Un rapport archivé à rendre cherchable
Atelier Garnier SARL retrouve un rapport technique de plusieurs pages, uniquement disponible en version scannée. Après reconnaissance, le document devient enfin interrogeable par mot-clé dans les archives internes.
Un contrat papier à réutiliser
Julien Lefèvre récupère le texte d’un contrat signé et numérisé pour en reprendre des passages dans un avenant, sans recopier chaque paragraphe à la main.
Questions fréquentes
Pourquoi le copier-coller ne fonctionne pas sur mon PDF ?
Parce que vos pages sont des images, pas du texte. Le fichier « ressemble » à un document lisible, mais ne contient aucune couche de texte. L’OCR reconstruit cette couche pour rendre le contenu enfin sélectionnable.
Le résultat garde-t-il l’ordre de mes pages ?
Oui. Chaque page est reconnue dans sa séquence d’origine, de la première à la dernière, afin que la logique du document — courrier, rapport, dossier — reste intacte dans le texte restitué.
Combien de pages puis-je traiter d’un coup ?
Jusqu’à 10 pages par document, dans une limite de 25 Mo. Pour un fichier plus épais, découpez-le au préalable en plusieurs PDF plus courts avant de lancer la reconnaissance.
Les signatures et tampons sont-ils transcrits ?
Non. La reconnaissance porte sur le texte imprimé. Une signature manuscrite ou un tampon encré n’est pas retranscrit ; il reste visible sur la page mais n’apparaît pas dans le texte extrait.
Quel est le prix exact d’un document ?
$0.010 par requête plus $0.0575 par page analysée, en dollars US. Un document de cinq pages revient donc au coût de base augmenté de cinq unités, réglé par PayPal, facture sur demande.
Mon PDF est-il lu ou conservé par quelqu’un ?
Non. L’échange est chiffré pendant le transfert, le document n’est traité que le temps de la reconnaissance, puis supprimé. Aucune personne ne le consulte et rien n’est archivé sur nos serveurs.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/ocr/pdf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/ocr/pdf", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ocr/pdf",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ocr/pdf", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ocr/pdf", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ocr.pdf",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
max_pages | 10 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
413 | input_too_large | Entrée trop volumineuse : consultez la limite de taille de cette capacité. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |