Application Java moderne pour la gestion et l'analyse d'empreintes digitales utilisant le SDK ZKFinger de ZKTeco.
Cette application permet de :
- Capturer des empreintes digitales via un scanner ZKTeco
- EnrĂŽler des utilisateurs (enregistrement d'empreintes)
- Identifier et vérifier des empreintes (1:N et 1:1)
- Exporter des empreintes en images (JPEG, PNG, BMP)
- Gérer plusieurs doigts simultanément avec export en lot
Avant de lancer l'application, assurez-vous d'avoir :
- Java JDK (version 7 ou supérieure) installé et configuré dans le PATH
- SDK ZKFinger SDK 5.x ou ZKOnline SDK 5.x installé sur le systÚme
- Scanner d'empreintes ZKTeco connecté via USB
- BibliothĂšques Java :
ZKFingerReader.jar(dans le dossierlib/)flatlaf-3.5.2.jar(pour l'interface moderne)
ZKFinger Demo2/
âââ src/
â âââ com/
â âââ zkteco/
â âââ biometric/
â âââ ModernZKFingerDemo.java # Application principale
â âââ ZKFPDemo.java # Ancienne version (dĂ©mo)
âââ lib/
â âââ ZKFingerReader.jar # SDK ZKFinger
â âââ flatlaf-3.5.2.jar # ThĂšme UI moderne
âââ bin/ # Classes compilĂ©es (gĂ©nĂ©rĂ©)
âââ run_modern.bat # â Script de lancement principal
âââ launch.bat # Script alternatif (ancienne version)
Le script run_modern.bat est la méthode la plus simple et la plus fiable pour lancer l'application. Il gÚre automatiquement la compilation et l'exécution.
-
Ouvrez un terminal (Invite de commandes ou PowerShell) dans le répertoire du projet
OU
-
Double-cliquez directement sur le fichier
run_modern.bat
Le script run_modern.bat effectue automatiquement les étapes suivantes :
-
Vérifications préliminaires :
- â VĂ©rifie que Java est installĂ© et accessible
- â
Vérifie la présence de
ZKFingerReader.jardanslib/ - â
Crée le dossier
bin/s'il n'existe pas
-
Compilation :
- Compile
ModernZKFingerDemo.javaavec encodage UTF-8 - Inclut automatiquement les bibliothÚques nécessaires dans le classpath
- Place les fichiers
.classcompilés dansbin/
- Compile
-
Lancement :
- Exécute l'application avec le classpath correct
- Le terminal reste ouvert pour afficher les messages et erreurs éventuelles
# Vérification Java
where java >nul 2>&1
# Vérification bibliothÚque
if not exist "%LIB_DIR%\ZKFingerReader.jar"
# Compilation avec encodage UTF-8
javac -d "%BIN_DIR%" -cp %CLASSPATH_COMPILE% -encoding UTF-8 "%MAIN_SRC%"
# Lancement
java -cp %CLASSPATH_RUN% %MAIN_CLASS%- Encodage UTF-8 : Le script utilise
-encoding UTF-8pour supporter correctement les caractÚres spéciaux et emojis dans l'interface - Classpath automatique : Les bibliothÚques dans
lib/sont automatiquement incluses - Gestion d'erreurs : Le script s'arrĂȘte et affiche un message en cas d'erreur
Si vous préférez compiler manuellement :
# 1. Compilation
javac -d bin -cp "lib/*" -encoding UTF-8 src/com/zkteco/biometric/ModernZKFingerDemo.java
# 2. Lancement
java -cp "bin;lib/*" com.zkteco.biometric.ModernZKFingerDemo- Cliquez sur "Connecter Appareil" dans le panneau de gauche
- L'application détecte automatiquement le scanner connecté
- L'aperçu de l'empreinte s'affiche en temps réel au centre
- Cliquez sur "Nouvel EnrĂŽlement"
- Posez le doigt 3 fois sur le scanner
- L'application fusionne les 3 captures pour créer un template robuste
- Un ID unique est attribué automatiquement
-
Identification (1:N) : Cliquez sur "Vérifier (1:1)" pour activer le mode identification continue
- Compare l'empreinte scannée avec toutes celles enregistrées
- Affiche l'ID correspondant et le score de correspondance
-
Vérification (1:1) : Mode passif aprÚs enrÎlement
- Compare avec la derniÚre empreinte enregistrée
- Export simple : Cliquez sur "Exporter en JPEG/PNG" pour sauvegarder l'empreinte actuellement affichée
- Export multi-doigts : Voir section ci-dessous
Fonctionnalité avancée pour capturer et exporter plusieurs doigts en une seule opération :
-
Sélection des doigts :
- Cochez les doigts que vous souhaitez scanner dans le panneau de droite
- Les doigts sont organisés par main (Droite/Gauche)
-
Capture :
- Sélectionnez un doigt dans la liste déroulante (seuls les doigts cochés apparaissent)
- Cliquez sur "đž Capturer ce doigt"
- Posez le doigt sur le scanner
- Répétez pour chaque doigt souhaité
-
Export en lot :
- Cliquez sur "đŸ Exporter tous les doigts"
- Choisissez le dossier de destination
- Toutes les empreintes sont exportées automatiquement avec des noms uniques :
- Dossier :
scanfinger-YYYYMMDD-HHMM-XXXXXXXX/ - Fichiers :
scanfinger-YYYYMMDD-HHMM-XXXXXXXX-queldoigt.jpg
- Dossier :
Exemple :
scanfinger-20241215-1430-a3f2b1c4/ âââ scanfinger-20241215-1430-a3f2b1c4-pouce_droite.jpg âââ scanfinger-20241215-1430-a3f2b1c4-index_droite.jpg âââ scanfinger-20241215-1430-a3f2b1c4-pouce_gauche.jpg
Solution : Installez Java JDK et ajoutez-le au PATH systĂšme, ou utilisez une variable d'environnement JAVA_HOME.
Solution : VĂ©rifiez que le fichier lib/ZKFingerReader.jar existe. Il devrait ĂȘtre fourni avec le SDK ZKFinger.
Solutions :
- Vérifiez que le scanner est bien branché en USB
- Installez les pilotes du scanner ZKTeco
- Vérifiez que le SDK ZKFinger SDK 5.x est installé sur le systÚme
- Essayez de débrancher et rebrancher le scanner
Solution : Le script run_modern.bat utilise déjà -encoding UTF-8. Si vous compilez manuellement, n'oubliez pas d'ajouter ce paramÚtre.
Solutions :
- VĂ©rifiez que le SDK est correctement installĂ© (les DLL natives doivent ĂȘtre dans le PATH systĂšme)
- Redémarrez l'application
- Vérifiez les permissions administrateur si nécessaire
Solution : L'application utilise FlatLaf pour l'interface moderne. Si flatlaf-3.5.2.jar est manquant, l'interface utilisera le thÚme systÚme par défaut.
- La fenĂȘtre s'adapte automatiquement Ă 90% de la taille de l'Ă©cran pour un affichage optimal
- Les logs d'événements s'affichent en temps réel dans la zone de texte en bas
- L'application utilise un thread séparé pour la capture, ce qui permet une interface fluide
- Les empreintes sont stockées temporairement en mémoire pendant la session
- SDK ZKFinger : Documentation fournie avec le SDK
- ZKTeco : https://www.zkteco.com
- Support SDK : sdksupport@zkteco.com
Voir la documentation du SDK ZKFinger pour les conditions d'utilisation.