Codes-barres d’un document
Cette capacité repère et décode les codes-barres présents sur une page : code produit EAN, QR code, Code 128 et autres formats courants. Elle en rend le contenu en clair, directement sur cette page. Tout se passe dans votre navigateur : le document n’est pas envoyé, la lecture est gratuite et sans limite.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Plusieurs formats, plusieurs codes sur une page
Un même document peut porter des codes de natures différentes : un EAN sur une étiquette produit, un QR code renvoyant vers un lien, un Code 128 sur un bon de livraison. La capacité les repère tous sur la page, les décode et vous rend leur contenu en clair, chacun identifié par son format. Vous n’avez pas à scanner code par code avec un téléphone : une page, un passage, tous les codes lus.
Gratuit parce que tout reste chez vous
La lecture s’effectue entièrement dans votre navigateur, sur cette page. Le document n’est ni transmis ni déposé sur un serveur : c’est pourquoi elle est gratuite, sans limite d’usage et sans inscription. Cet argument compte quand la page scannée contient autre chose que le code — un bon de livraison, une facture, un courrier — dont vous ne souhaitez pas qu’il quitte votre poste.
Automatiser par l’API
Pour un usage ponctuel, le navigateur suffit et ne coûte rien. Pour traiter en continu un flux de documents entrants — lire le QR code de chaque pièce, relever l’EAN de chaque étiquette — la même capacité existe par l’API, facturée $0.002 par requête et $0.005 par page, en dollars US, sans abonnement. Le traitement y est asynchrone, et une arrivée sur mobile est prévue.
Cas d’usage
Décoder un bon de livraison
Menuiserie Rousseau & Fils lit le Code 128 d’un bon de livraison scanné pour retrouver le numéro d’expédition, sans ressortir de scanner manuel.
Relever les EAN d’une planche
Atelier Garnier SARL décode d’un coup les codes EAN d’une planche d’étiquettes produits, plutôt que de les saisir un à un au clavier.
Lire les QR codes d’un flux entrant
Un service qui reçoit des documents porteurs de QR codes en extrait automatiquement le contenu par l’API, pour alimenter un suivi sans intervention manuelle.
Questions fréquentes
Quels formats de codes-barres sont lus ?
Les formats courants : codes produits EAN, QR codes, Code 128 et d’autres codes linéaires répandus. Chaque code décodé est rendu avec son contenu et son format.
Plusieurs codes présents sur une page sont-ils tous lus ?
Oui. La capacité parcourt la page et décode l’ensemble des codes qu’elle y trouve, quels que soient leurs formats.
Mon document est-il envoyé sur un serveur ?
Non. La lecture se fait localement dans votre navigateur ; le document n’est ni transmis ni conservé. Rien ne quitte votre poste.
Est-ce vraiment gratuit ?
Oui, dans le navigateur, sans limite ni inscription, puisque rien n’est envoyé. Seul l’usage automatisé par l’API est facturé, à $0.002 la requête et $0.005 par page, en dollars US.
Faut-il créer un compte ?
Non. La lecture sur cette page ne demande ni compte ni inscription.
Quelle taille de document est acceptée ?
Jusqu’à 25 Mo par document.
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/barcode-doc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/ocr/barcode-doc", {
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/barcode-doc",
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/barcode-doc", 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/barcode-doc", 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.barcode_doc",
"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é. |