Couche de texte OCR
Cette capacité applique une reconnaissance optique de caractères (OCR) à un PDF issu d’un scan, puis y glisse une couche de texte invisible calée sur l’image. Le document reste identique à l’œil, mais son contenu devient cherchable, sélectionnable et copiable, comme un PDF né sur ordinateur.
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.
Un scan reste une image tant qu’on ne l’océrise pas
Quand vous numérisez un contrat ou un vieux courrier, votre scanner produit une image collée dans un PDF. À l’écran cela ressemble à du texte, mais votre navigateur n’y voit que des pixels : impossible de faire une recherche, de copier une clause ou de surligner un paragraphe. L’OCR lit ces pixels, reconnaît les lettres, et écrit par-dessus une couche de texte transparente, parfaitement alignée sur ce que vous voyez. L’apparence ne bouge pas d’un pixel ; c’est le dessous qui devient exploitable.
Ce que vous récupérez
Vous recevez le même PDF, à la mise en page intacte, mais désormais interrogeable avec Ctrl+F, indexable et compatible avec les lecteurs d’écran. Sélectionner un montant, un SIRET ou un nom devient possible, et un moteur documentaire peut enfin retrouver la pièce des mois plus tard. La reconnaissance gère le français accentué — é, è, à, ç, œ — et distingue les colonnes d’un document mis en pages sur deux blocs.
Fonctionnement et tarif
Le traitement passe par nos serveurs : vous soumettez le PDF, une tâche est créée, vous récupérez le fichier enrichi une fois l’OCR terminé. Le prix est de $0.042 par requête, auquel s’ajoutent $0.0025 par page traitée, en dollars US. Un document de dix pages revient donc à quelques centimes. Cette capacité est en cours de déploiement : le tarif et le comportement sont fixés, mais elle n’accepte pas encore d’exécutions.
Cas d’usage
Archives d’un cabinet à rendre cherchables
Julien Lefèvre reprend dix ans de contrats numérisés en PDF-image. Après OCR, chaque dossier se retrouve d’un mot-clé, sans rouvrir les classeurs papier ni ressaisir la moindre ligne.
Justificatifs scannés pour une démarche
Nadia Benali a photographié ses justificatifs, mais l’administration réclame un texte sélectionnable. La couche OCR rend ses fichiers copiables sans altérer leur mise en page d’origine.
Notes de frais à indexer
Studio Lumen SAS océrise les tickets scannés de ses collaborateurs pour que la comptabilité retrouve un montant ou une date par simple recherche, au lieu de feuilleter des dizaines de pages.
Questions fréquentes
L’apparence de mon PDF change-t-elle après l’OCR ?
Non. La couche de texte est invisible et posée sous l’image : vous voyez exactement le même document, au pixel près. Seule la partie « sous le texte » devient sélectionnable et cherchable.
La reconnaissance gère-t-elle les accents et la ponctuation française ?
Oui. Les caractères accentués, la cédille et la ligature œ sont pris en charge ; un scan de bonne qualité donne une reconnaissance fidèle, y compris sur des documents mis en pages sur plusieurs colonnes.
Que se passe-t-il si mon scan est flou ou de travers ?
La qualité de sortie suit la qualité d’entrée : un scan net et droit donne le meilleur résultat. Un document très dégradé peut laisser passer quelques erreurs de lecture ; mieux vaut redresser et nettoyer l’image avant de lancer le traitement.
Cette capacité est-elle déjà disponible ?
Pas encore. Elle est en cours de déploiement : la fonction, les limites et le prix sont arrêtés, mais elle n’accepte pas encore d’exécutions. Le comportement décrit ici est celui qui sera livré.
Combien ça coûte, et comment payer ?
$0.042 par requête plus $0.0025 par page, en dollars US. Le règlement se fait par PayPal, sans compte ni abonnement, et une facture vous est fournie sur demande pour votre comptabilité.
Mes documents sont-ils lus par une personne ?
Non. La reconnaissance est entièrement automatisée, l’échange est chiffré pendant le transfert et vos fichiers ne servent qu’à produire le PDF enrichi que vous téléchargez.
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/pdf/ocr-layer \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/ocr-layer", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/ocr-layer",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/ocr-layer", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/ocr-layer", 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
{
"pdf": "https://ejemplo.com/documento.pdf"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.ocr_layer",
"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 | 200 |
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é. |