mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
3.9 KiB
3.9 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Analyse les images à la recherche de QR codes, de codes-barres et de codes 2D, avec une sortie annotée. | 97c9d395c257 | human | bee76c077f68 |
Lecteur de codes-barres
Analyse les images téléversées à la recherche de tous types de codes-barres et de QR codes. Renvoie le texte décodé, le type de code-barres et les données de position pour chaque code détecté. Génère également une image annotée avec des cadres de délimitation colorés autour des codes détectés.
Point de terminaison de l'API
POST /api/v1/tools/image/barcode-read
Accepte des données de formulaire multipart contenant un fichier image et un champ JSON settings facultatif.
Paramètres
| Paramètre | Type | Requis | Par défaut | Description |
|---|---|---|---|---|
| tryHarder | booléen | Non | true |
Active un mode d'analyse agressif pour les codes-barres plus difficiles à lire (plus lent mais plus approfondi) |
Exemple de requête
curl -X POST http://localhost:1349/api/v1/tools/image/barcode-read \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@receipt.jpg" \
-F 'settings={"tryHarder": true}'
Exemple de réponse
{
"filename": "receipt.jpg",
"barcodes": [
{
"type": "QRCode",
"text": "https://example.com/product/123",
"position": {
"topLeft": { "x": 100, "y": 50 },
"topRight": { "x": 250, "y": 50 },
"bottomLeft": { "x": 100, "y": 200 },
"bottomRight": { "x": 250, "y": 200 }
}
},
{
"type": "EAN-13",
"text": "5901234123457",
"position": {
"topLeft": { "x": 50, "y": 400 },
"topRight": { "x": 300, "y": 400 },
"bottomLeft": { "x": 50, "y": 450 },
"bottomRight": { "x": 300, "y": 450 }
}
}
],
"annotatedUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/annotated-receipt.png",
"previewUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/annotated-receipt.png"
}
Champs de la réponse
| Champ | Type | Description |
|---|---|---|
| filename | chaîne | Nom de fichier d'origine |
| barcodes | tableau | Tableau des objets code-barres détectés |
| annotatedUrl | chaîne ou null | URL de téléchargement de l'image annotée (null si aucun code-barres n'est trouvé) |
| previewUrl | chaîne ou null | Identique à annotatedUrl (pour la compatibilité d'aperçu côté frontend) |
Objet code-barres
| Champ | Type | Description |
|---|---|---|
| type | chaîne | Format du code-barres (QRCode, EAN-13, Code128, DataMatrix, PDF417, etc.) |
| text | chaîne | Contenu décodé du code-barres |
| position | objet | Cadre de délimitation avec les coordonnées topLeft, topRight, bottomLeft, bottomRight |
Types de codes-barres pris en charge
Codes-barres 1D : Code128, Code39, Code93, Codabar, EAN-8, EAN-13, ITF, UPC-A, UPC-E
Codes-barres 2D : QRCode, DataMatrix, PDF417, Aztec, MaxiCode
Remarques
- Utilise la bibliothèque zxing-wasm pour la détection des codes-barres.
- L'image annotée superpose des cadres de délimitation polygonaux colorés et des étiquettes numérotées sur chaque code-barres détecté.
- Jusqu'à 255 codes-barres peuvent être détectés dans une même image.
- Si aucun code-barres n'est trouvé,
barcodesest un tableau vide etannotatedUrlvaut null. - Le mode
tryHardereffectue une analyse plus approfondie au prix d'un temps de traitement plus long. Désactivez-le pour un traitement plus rapide des codes-barres nets et bien alignés. - La sortie annotée est toujours au format PNG.
- Les entrées HEIC, RAW, PSD et SVG sont automatiquement décodées avant l'analyse.
- L'orientation EXIF est appliquée automatiquement avant le traitement.