Skip to content

superealabs/ZKFinger-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZKTeco Fingerprint Manager

Application Java moderne pour la gestion et l'analyse d'empreintes digitales utilisant le SDK ZKFinger de ZKTeco.

📋 Description

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

🔧 PrĂ©requis

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 dossier lib/)
    • flatlaf-3.5.2.jar (pour l'interface moderne)

📁 Structure du projet

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)

🚀 Lancement du projet

Méthode recommandée : run_modern.bat

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.

Comment utiliser run_modern.bat

  1. Ouvrez un terminal (Invite de commandes ou PowerShell) dans le répertoire du projet

    OU

  2. Double-cliquez directement sur le fichier run_modern.bat

Que fait le script ?

Le script run_modern.bat effectue automatiquement les étapes suivantes :

  1. Vérifications préliminaires :

    • ✅ VĂ©rifie que Java est installĂ© et accessible
    • ✅ VĂ©rifie la prĂ©sence de ZKFingerReader.jar dans lib/
    • ✅ CrĂ©e le dossier bin/ s'il n'existe pas
  2. Compilation :

    • Compile ModernZKFingerDemo.java avec encodage UTF-8
    • Inclut automatiquement les bibliothĂšques nĂ©cessaires dans le classpath
    • Place les fichiers .class compilĂ©s dans bin/
  3. Lancement :

    • ExĂ©cute l'application avec le classpath correct
    • Le terminal reste ouvert pour afficher les messages et erreurs Ă©ventuelles

Détails techniques du script

# 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%

ParamĂštres importants

  • Encodage UTF-8 : Le script utilise -encoding UTF-8 pour 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

Alternative : Compilation manuelle

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

💡 FonctionnalitĂ©s principales

1. Connexion Ă  l'appareil

  • 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

2. EnrĂŽlement (Enregistrement)

  • 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

3. Identification et Vérification

  • 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

4. Export d'images

  • Export simple : Cliquez sur "Exporter en JPEG/PNG" pour sauvegarder l'empreinte actuellement affichĂ©e
  • Export multi-doigts : Voir section ci-dessous

5. Enregistrement Multi-Doigts ⭐ (Nouveau)

Fonctionnalité avancée pour capturer et exporter plusieurs doigts en une seule opération :

  1. 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)
  2. 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Ă©
  3. 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

    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
    

🔍 DĂ©pannage (Troubleshooting)

Erreur : "Java n'est pas dans le PATH"

Solution : Installez Java JDK et ajoutez-le au PATH systĂšme, ou utilisez une variable d'environnement JAVA_HOME.

Erreur : "ZKFingerReader.jar manquant"

Solution : VĂ©rifiez que le fichier lib/ZKFingerReader.jar existe. Il devrait ĂȘtre fourni avec le SDK ZKFinger.

Erreur : "Aucun appareil détecté"

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

Erreur de compilation : "unmappable character"

Solution : Le script run_modern.bat utilise déjà -encoding UTF-8. Si vous compilez manuellement, n'oubliez pas d'ajouter ce paramÚtre.

L'application se lance mais le scanner ne répond pas

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

ProblĂšme d'affichage ou d'interface

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.

📝 Notes importantes

  • 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

🔗 Ressources

📄 Licence

Voir la documentation du SDK ZKFinger pour les conditions d'utilisation.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors