jueves, 20 de octubre de 2011

Programacion De 4500 Fingerprint Reader Digital Persona En Java Con Windows 7 -Parte 2


PROGRAMACION DE 4500 FINGERPRINT READER DIGITAL PERSONA EN JAVA CON WINDOWS 7-PARTE 2

Continuando con el desarrollo de este articulo, en esta parte nos encargaremos quizás de la parte más importante en el desarrollo del artículo, el cual hace referencia a la creación de los métodos abstractos que se implementan para el correcto funcionamiento de la previas captura de las huellas digitales por medio del lector, y nuestra tercera parte estaremos desarrollando las parte de cómo guardar, autentificar y verificar huellas desde la base de datos creadas en la primera parte, entonces sin más aquí vamos:
•    Creamos un nuevo proyecto el IDE Netbeans 6.9.1
•    Creamos un nuevo directorio o carpeta, que podremos llamar Formularios.

•    Creamos un JFrame, que llamaremos CapturaHuella
En este punto no es necesario, dar ningún toque de apariencia a nuestro formulario, ya que nos vamos a dedicar a desarrollar los métodos abstractos con las respectivas variables, y además todo lo vamos a realizar en el espacio de Fuente del formulario, sin usar ninguna clase, aunque para muchos no sea uno forma modulada de programar, pero con el fin de explicar es mas q suficiente, y pues de ahí cada quien adapta su aplicación a como lo requieran.


1.    Verficamos que los .jar, que copiamos a los jre de java están correctamente instalados y aceptados por el IDE de Netbeans para luego programarl IDE de Digital Persona.
Realizamos un pequeño import para darnos cuenta ha sido aceptado el IDE de DigitalPersona.


Al aparecernos import com.digitalpersona…. quiere decir que está bien y podremos continuar…

2.    En el constructor del JFrame, antes de initComponents(); insertamos el siguiente código con el fin de cambiarle el estilo visual a la aplicación.
try {
         UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
         } catch (Exception e) {
         JOptionPane.showMessageDialog(null, "Imposible modificar el tema visual", "Lookandfeel inválido.",
         JOptionPane.ERROR_MESSAGE);
         }
En este momentos nos sales una cantidad de errors y es porque no se han hecho los imports correspondientes, asi que simplemente hacemos clic sobre el icono que denota el error y se agregan los imports necesarios.
3.    Ahora declaramos 5 variables principales para la captura, verificación, inserción y template de la huella digital que se pretende capturar y también importamos los imports que necesiten esas variables.
private DPFPCapture Lector = DPFPGlobal.getCaptureFactory().createCapture();
private DPFPEnrollment Reclutador = DPFPGlobal.getEnrollmentFactory().createEnrollment();
private DPFPVerification Verificador = DPFPGlobal.getVerificationFactory().createVerification();
private DPFPTemplate template;
public static String TEMPLATE_PROPERTY = "template";

4.    Creamos los métodos abstractos, para la variable Lector, creando un Nuevo método que podemos llamar Iniciar, en el cual vamos a colocar los distintos métodos programable del lector, bien sea cuando ocurre la captura de la huella, cuando el lector se conecta o desconecta, cuando se coloca el dedo o se retira y cuando se presenta algún error, estos suelen ser los más importantes pero puede existir uno o dos más que para este ejemplo no los tocaremos.

protected void Iniciar(){
   Lector.addDataListener(new DPFPDataAdapter() {
    @Override public void dataAcquired(final DPFPDataEvent e) {
    SwingUtilities.invokeLater(new Runnable() {    public void run() {
    EnviarTexto("La Huella Digital ha sido Capturada");
    ProcesarCaptura(e.getSample());
    }});}
   });

   Lector.addReaderStatusListener(new DPFPReaderStatusAdapter() {
    @Override public void readerConnected(final DPFPReaderStatusEvent e) {
    SwingUtilities.invokeLater(new Runnable() {    public void run() {
    EnviarTexto("El Sensor de Huella Digital esta Activado o Conectado");
    }});}
    @Override public void readerDisconnected(final DPFPReaderStatusEvent e) {
    SwingUtilities.invokeLater(new Runnable() {    public void run() {
    EnviarTexto("El Sensor de Huella Digital esta Desactivado o no Conecatado");
    }});}
   });

   Lector.addSensorListener(new DPFPSensorAdapter() {
    @Override public void fingerTouched(final DPFPSensorEvent e) {
    SwingUtilities.invokeLater(new Runnable() {    public void run() {
    EnviarTexto("El dedo ha sido colocado sobre el Lector de Huella");
    }});}
    @Override public void fingerGone(final DPFPSensorEvent e) {
    SwingUtilities.invokeLater(new Runnable() {    public void run() {
    EnviarTexto("El dedo ha sido quitado del Lector de Huella");
    }});}
   });

   Lector.addErrorListener(new DPFPErrorAdapter(){
    public void errorReader(final DPFPErrorEvent e){
    SwingUtilities.invokeLater(new Runnable() {  public void run() {
    EnviarTexto("Error: "+e.getError());
    }});}
   });
}
   Lector.addErrorListener(new DPFPErrorAdapter(){
    public void errorReader(final DPFPErrorEvent e){
    SwingUtilities.invokeLater(new Runnable() {  public void run() {
    enviarTexto("Error: "+e.getError());
    }});}
   });
}
Para este punto existen dos métodos que aun  no hemos creado y aun después de importar todos los imports necesarios que son:
import com.digitalpersona.onetouch.DPFPGlobal;
import com.digitalpersona.onetouch.DPFPTemplate;
import com.digitalpersona.onetouch.capture.DPFPCapture;
import com.digitalpersona.onetouch.capture.event.DPFPDataAdapter;
import com.digitalpersona.onetouch.capture.event.DPFPDataEvent;
import com.digitalpersona.onetouch.capture.event.DPFPErrorAdapter;
import com.digitalpersona.onetouch.capture.event.DPFPErrorEvent;
import com.digitalpersona.onetouch.capture.event.DPFPReaderStatusAdapter;
import com.digitalpersona.onetouch.capture.event.DPFPSensorAdapter;
import com.digitalpersona.onetouch.processing.DPFPEnrollment;
import com.digitalpersona.onetouch.verification.DPFPVerification;

    Marcara errores en los metodos:
    EnviarTexto();
    ProcesarCaptura();
    No importa porque ahora desarrollaremos estos métodos.


5.    Antes de comenzar a crear el método EnviarTexto(), declararemos dos variable que son las mas importante en el proyecto, y sirven para procesar las características de la huella capturada, bien sea para verificarla o para crear una nueva e importamos los imports necesarios para estas variables.

public DPFPFeatureSet featuresinscripcion;
public DPFPFeatureSet featuresverificacion;


6.    Creamos el metodo ProcesarCaptura(); y para cada item donde presente error no se les olvide importar los imports correspondientes.
Pero antes declararemos una serie de métodos que son llamados dentro de este método de ProcesarCaptura.
public  DPFPFeatureSet extraerCaracteristicas(DPFPSample sample, DPFPDataPurpose purpose){
     DPFPFeatureExtraction extractor = DPFPGlobal.getFeatureExtractionFactory().createFeatureExtraction();
    try {
    return extractor.createFeatureSet(sample, purpose);
    } catch (DPFPImageQualityException e) {
    return null;
    }
}

public  Image CrearImagenHuella(DPFPSample sample) {
    return DPFPGlobal.getSampleConversionFactory().createImage(sample);
}
public void DibujarHuella(Image image) {
        lblImagenHuella.setIcon(new ImageIcon(
        image.getScaledInstance(lblImagenHuella.getWidth(), lblImagenHuella.getHeight(),      Image.SCALE_DEFAULT)));
        repaint();
 }


Aquí, nos daremos cuenta que marcara error y es por aun no hemos agregado un objeto a JFrame creado, después nos encargaremos de esto.
public  void EstadoHuellas(){
    EnviarTexto("Muestra de Huellas Necesarias para Guardar Template "+ Reclutador.getFeaturesNeeded());
}

Aquí tambien nos aparece un error porque no hemos creado el método EnviarTexto();
Ahora lo creamos:

public void EnviarTexto(String string) {
       txtArea.append(string + "\n");
}
También nos aparece un error y es porque no hemos añadido el objeto TextArea al JFrame. 
Pero todos esos errores de objetos, los resolveremos cuando dediquemos el tiempo de organizar el espacio de captura de huella en el JFrame.
Continuamos declarando los métodos y en este caso continuamos con los métodos que nos permiten que el lector de huella dactilar inicie para las capturas y/o para que pare.
public  void start(){
    Lector.startCapture();
    EnviarTexto("Utilizando el Lector de Huella Dactilar ");
}

public  void stop(){
        Lector.stopCapture();
        EnviarTexto("No se está usando el Lector de Huella Dactilar ");

Por ultimo creamos los insertamos los códigos de getter() y setter() de la variable que declaramos al inicio; private DPFPTemplate template;

Prescionamos Clic derecho sobre una area de en blanco de espacio de Fuente del JFrame asi;


Lo cual nos creara los siguiente métodos:
public DPFPTemplate getTemplate() {
   return template;
}

public void setTemplate(DPFPTemplate template) {
   this.template = template;
}

Pero este ultimo lo modificamos, quedando asi:

public void setTemplate(DPFPTemplate template) {
   DPFPTemplate old = this.template;
   this.template = template;
   firePropertyChange(TEMPLATE_PROPERTY, old, template);
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Finalmente hemos terminado la creación del código de los métodos abstractos que vamos a usar en esta segunda fase del artículos, pues ahora nos concentraremos en desarrollar la interfaz del JFrame:
Volvemos a la vista de Diseño del JFrame, y desarrollaremos una interfaz similar a esta:
Agregamos Dos JPanel, uno panHuellas con dirección Norte, y otro panBtns con dirección Sur.

Al panel de Huella Digital Capturada, le activamos el gestor de distribución BorderLayout y agregamos otro JPanel, no interesa el nombre y también activamos un gestor de distribución BordeLayout con una caracterictica de hundido y añadimos un JLabel que llamaremos lblImagenHuella la cual se ajustara automáticamente al contendor del panel, y le borramos el nombre:

Hasta este punto si volvemos a la vista de fuente nos daremos cuenta que ya se han corregido los errores del método DibujarHuella();.

Para el panel de Acciones también activamos el gestor BorderLayout y agregaremos dos paneles mas, aquí no interesan como se llamen.

En el primero añadiremos cuatros botones que se llamaran; btnSalir, btnGuardar, btnIdentificicar, btnVerificar, esto tres últimos no serán usados en esta fase pero se necestitan para que no se presente error en el fuente:
En el segundo JPanel, que agreguemos activamos también el gestor BorderLayout y agregamos un JScrollPane que llamaremos txtArea.

Por ultimo podemos darnos cuenta que en la vista de fuente, ya se han corregido todos los errores presentados, ahora solo nos queda programar simplemente en botón de Salir,
  System.exit(0);

Ahora simplemente nos toca llamar a los métodos correspondientes en los eventos en los que se abra o se cierre el JFrame:

Y tambien en el constructor del JFrame agregar después de  initComponents();,
txtArea.setEditable(false);

NOTA: Recuerden que los otros botones por lo pronto no serán usados, mas sin embargo se comportaran como si tuvieran alguna acción.

Eso es todo, espero le sirva y no olviden en comentar,  nos vemos después con la parte de Gurdar, Verificar e Identificar desde una BD.., SALUDOS JARC..!

Tambien les dejos un documento pdf con el desarrollo de esta segunda parte del Tutorial. Aqui

Y lo que todos esperan, el codigo fuente, pues aqui se los dejo y espero por lo menos comenten si de algo le ha servido. Aqui

DEDICADO A TODOS AQUELLOS QUE CON PACIENCIA ESPERARON AL DESARROLLO DE ESTA SEGUNDA PARTE, ESPERO PODER TENER LA ULTIMA PARTE LO ANTES POSIBLE, SALUDOS...
!EL CONOCIMIENTO AUMENTA CUANDO SE COMPARTE¡

59 comentarios:

  1. JARC, gracias por tu aporte, esperamos ver terminado el tutorial, para así ver los inconvenientes que se puedan presentar.

    Saludos

    ResponderBorrar
  2. hola sera q me puedes enviar la parte de como guardar la huella en la BD ? por favor a mi correo adalitdazach@gamil.com te los agradeceria Saludos

    ResponderBorrar
  3. Hola bueno soy novato en esto quisiera q me ayudes con la extraccion del template de la huella no se como hacerlo q metodo utilizar por favor se te agradeceria mi correo es adalitdazach@gmail.com

    ResponderBorrar
  4. Hola amigo Jarc, te felicito por este tutorial te sacaste un 10, tengo un problema, no se como empezar a hacer la conexión a la DB, no se si me puedas ayudarme lo agradecería, aunque sea con un pequeño ejemplo...

    ResponderBorrar
  5. JARC no se si tengas la parte 3 del tutorial, te agradecería si pudieras ayudarme con la conexión a la base de datos, mi correo es somderker18@gmail.com Gracias Saludos...

    ResponderBorrar
  6. Me ayudara mucho en un proyecto de titulacion en el que usare para pruebas este reloj checador, aunque lo aplicare a un Reloj Checador SKSoftware de la Institucion... Gracias espero retribuir con los codigos de mi proyecto en la red cuando lo tenga termninado...

    De antemano muchas gracias brother.
    Futuro Ing en Sistemas Computacionales

    ResponderBorrar
  7. Hola a todos, espero para aquellos que no hallan podido descargar el sdk de la pagina oficial, aca les dejo el link del sdk.

    link:

    http://www.fileserve.com/file/Bc8QgnU

    NO SE LES OLVIDE QUE EL QUE TIENEN QUE EJECUTAR ES EL SETUP.EXE QUE ESTA EN LA CARPETA DEL SDK.

    E INCLUSO EN LA CARPETA DOCS, ENCONTRARAN VARIOS PDF QUE SIRVEN DE GUIA PARA LOS PROCESOS DE INSTALACION Y PROGRAMACION EN VARIOS LENGUAJES, Y ESTOS PODRAN ENCONTRAR MAS CARACTERISTICAS DE LAS QUE HABIA MENCIONADOS EN OTRAS OCASIONES Y POR SUPUESTOS LOS OTROS DISPOSITIVOS COMPATIBLES CON EL SDK...

    LO MALO PUEDE LLEGAR SER QUE ESTA EN INGLES, PERO ESTE ES TECNICO Y SE DEJA ENTENDER.
    Saludos ING J@RC...

    ResponderBorrar
    Respuestas
    1. Hola, buen dia...
      Muchas Gracias por tu aporte, me ha servido mucho en un proyecto de clase...
      Por otro lado el link para descarga de SDK no funciona, para ver si me colaboras nuevamente de subirlo... Gracias

      Borrar
    2. Compadre el link de la SDK esta caido... Buen dia! :D

      Borrar
    3. Alguien tiene el SDK para descargar por favor. Gracias de antemano

      Borrar
  8. Hola Jair Rios tu aportacion es muy buena, la verdad me sirvio de mucho pero te hiso falta colocar un metodo afortunadamente lo encontre en tu codigo, para todos los que se dieron cuenta aqui pueden obtenerlo, esta copiado del codigo de jair un saludo y espero puedas editar tu entrada y colocar este pedaso para que todos puedan disfrutar de este manual al 100%, Saludos

    public void ProcesarCaptura(DPFPSample sample)
    {
    // Procesar la muestra de la huella y crear un conjunto de características con el propósito de inscripción.
    featuresinscripcion = extraerCaracteristicas(sample, DPFPDataPurpose.DATA_PURPOSE_ENROLLMENT);

    // Procesar la muestra de la huella y crear un conjunto de características con el propósito de verificacion.
    featuresverificacion = extraerCaracteristicas(sample, DPFPDataPurpose.DATA_PURPOSE_VERIFICATION);

    // Comprobar la calidad de la muestra de la huella y lo añade a su reclutador si es bueno
    if (featuresinscripcion != null)
    try{
    System.out.println("Las Caracteristicas de la Huella han sido creada");
    Reclutador.addFeatures(featuresinscripcion);// Agregar las caracteristicas de la huella a la plantilla a crear

    // Dibuja la huella dactilar capturada.
    Image image=CrearImagenHuella(sample);
    DibujarHuella(image);

    btnVerificar.setEnabled(true);
    btnIdentificar.setEnabled(true);

    }catch (DPFPImageQualityException ex) {
    System.err.println("Error: "+ex.getMessage());
    }

    finally {
    EstadoHuellas();
    // Comprueba si la plantilla se ha creado.
    switch(Reclutador.getTemplateStatus())
    {
    case TEMPLATE_STATUS_READY: // informe de éxito y detiene la captura de huellas
    stop();
    setTemplate(Reclutador.getTemplate());
    EnviarTexto("La Plantilla de la Huella ha Sido Creada, ya puede Verificarla o Identificarla");
    btnIdentificar.setEnabled(false);
    btnVerificar.setEnabled(false);
    btnGuardar.setEnabled(true);
    btnGuardar.grabFocus();
    break;

    case TEMPLATE_STATUS_FAILED: // informe de fallas y reiniciar la captura de huellas
    Reclutador.clear();
    stop();
    EstadoHuellas();
    setTemplate(null);
    JOptionPane.showMessageDialog(CapturaHuella.this, "La Plantilla de la Huella no pudo ser creada, Repita el Proceso", "Inscripcion de Huellas Dactilares", JOptionPane.ERROR_MESSAGE);
    start();
    break;
    }
    }
    }

    ResponderBorrar
    Respuestas
    1. MUCHAS GRACIAS DANIEL, TIENES LA RAZON EN EL ENTRADA NO PUBLIQUE ESTE METODO, PERO EN EL CODIGO DEL PROGRAMA ESTE SE ENCUENTRA, POR FORTUNA ESTUVISTES ATENTO NO SOLO A LA ENTRADA COMO TAL, SINO MIRAR DETALLADAMENTE EL CODIGO... TE AGRDEZCO TU OBSERVACION...
      Y PUES EN LOS SIGUIENTES DIAS ESTARE MODIFICANDO LA ENTRADA...
      SALUDOS...

      Borrar
    2. gracias Jair necesito un código para guardar la huella en postgres desde vb6.
      mi correo lcastillor@dian.gov.co

      ÑUIS IGNACIO CASTILLO (CUCUTA COLOMBIA)

      Borrar
  9. hola que tal ... amigo segui todo tus tutoriales para crear el software de detector de huella pero me gustaria saber cuales son los pasos para convertir la aplicacion en applet ya que quiero visualizarla en la web... me seria de gran ayuda que me echaras la mano con eso porfa

    ResponderBorrar
  10. Tengo problemas con la conexion a Mysql

    ResponderBorrar
  11. Hola, estoy realizando un proyecto demostrativo en base al sdk griaulex que es compatible con este lector u.are.u 4500 sin embargo hay que instalar los drivers que vienen con el DigitalPersonax One Touch for Windows SDK 1.6.1 cuando adquiri el lector usado no me trajo el cd y he enviado varias solicitudes de descarga del mismo en la web de digitapersonal pero no obtengo respuesta.

    Sera posible que alguien que lo tenga pueda subirlo nuevamente a un servidor de descargas ? Se lo agradecería ya que estoy inhabilitado.

    ResponderBorrar
  12. Hola!!!, tengo una pequeña pregunta; es posible controlar que la luz del Lector se apague?. De antemano gracias y Excelente trabajo!! muy bien explicado todo , felicidades!!

    ResponderBorrar
  13. Gracias tu tutorial me sirvio de mucho funciona exelente

    ResponderBorrar
  14. Buenos días, soy estudiante de Ing. en sistemas y la verdad este blog me pareció excelente, tengo que realizar un proyecto de reloj checador y a un no consigo guardad a la base de datos espero alguien me pueda ayudar mi correo es manol.vicente@gmail.com

    ResponderBorrar
  15. Amigo muchas gracias por tu codigo
    ya lo modifique para generar entradas y salidas de personal
    crree unos esto en la bd
    mira

    SELECT * FROM somhue;
    SELECT * FROM Prueba_persona;
    SELECT * FROM eventoferia


    CREATE TRIGGER trigger_log_users AFTER INSERT ON `somhue`
    FOR EACH ROW
    INSERT INTO Prueba_persona(`NombrePersona`, `idhuella`)
    VALUES (new.`huenombre`, new.`id`)


    DELIMITER $$

    USE `marcaciones`$$

    DROP PROCEDURE IF EXISTS `insertaevento`$$

    CREATE DEFINER=`root`@`localhost` PROCEDURE `insertaevento`(IN codigo INT,fevento DATETIME)

    BEGIN
    INSERT INTO eventoferia (idPersona,fecha_evento) VALUES(codigo,fevento);
    END$$

    DELIMITER ;



    DELIMITER //

    CREATE PROCEDURE INSERTAEVENTO (IN CODIGO INT,FFECha DATETIME)
    BEGIN
    INSERT INTO eventosferia(idPersona,fecha_evento)VALUES(CODIGO,FFECHA);

    END //


    DELIMITER $$
    CREATE PROCEDURE `marcaciones`.`EVENTOSSP`(evento INT (11) ,linea INT (11) ,seccion INT (11),codigo INT (11), fechai DATE,horai TIME,fechaf DATE,horaf TIME,
    observacion VARCHAR (200),orden INT (11),fechap DATE,encargado INT (11),medida INT (11), fechaevento DATETIME,fecha_historial DATETIME,computador VARCHAR (100) )
    BEGIN
    INSERT INTO historial_eventos
    (id_evento,id_lineaproduccion,id_seccion,id_codigo_parada,fecha_incial,hora_inicio,fecha_final,hora_final,observacion,numero_ordenproduccion,
    fecha_produccion,id_encargado,id_unidadmedida,fecha_evento,fecha_historial,computador)
    VALUES(evento,linea,seccion,codigo,fechai,horai,fechaf,horaf,observacion,orden,fechap,encargado,medida,NOW(), NOW(),hostname() );
    END$$
    DELIMITER ;

    ahora estoy peleando para quitar el boton autenticar
    y que me autentique solo con poner la huella sobre el lector
    le estoy haciendo con un hilo en el escuchador pero nada

    de antemano muchas gracias
    quedo muy agradecido
    att Ing Beimar trujillo

    ResponderBorrar
  16. hOLA

    DONDE SE DESCARGA EL SDK,
    DONDE SE PUEDE DESCARGAR TODO EL EJEMPLO
    FUNCIONA CON 4000B Fingerprint Reader Digital Persona En Java

    ResponderBorrar
    Respuestas
    1. Que tak mi amigo Jonny Julian Sanchez Gomez, te paso el link de donde podras descargar el SDK de Java, y en cuanto al funcionamiento con 4000B Fingerprint Reader Digital Persona no te aseguro su correto funcionamiento. Checate si el lector que tienes tiene las mismas librerias de el 4500 Fingerprint Reader Digital Persona. si tiene estas librerias GrFingerX, AxGrFingerXLib, AxGrFingerXCtrl, GrFingerXLib. es seguro que con ese lector podras realizar el sistema...

      Borrar
    2. una disculpa no te envie el link del los SDK's de Java. http://www.griaulebiometrics.com/page/es/downloads de esa pagina podras decargar los SDK's segun tus requerimientos Espero harbete ayudado.....

      Borrar
  17. Muchas falicidades Jair Alfonso Rios Carlys, Te agradesco he descardo los tutoriales para realizar el sistema en Java tengo un poco de conocimientos en java pero ahora lo tendre que estudiar a fondo. Gracias por compartir este Tema de la programacion y como dices es muy cierto. ¡¡EL CONOCIMIENTO AUMENTA CUANDO SE COMPARTE!!

    ResponderBorrar
  18. Lo requiero un applet, hay algun ejemplo.
    Gracias

    ResponderBorrar
  19. Excelente aporte amigo mil gracias!!

    muy detallada la guia!

    ResponderBorrar
  20. Hola JAIR me gustaria saber si ahi alguna forma de implementar algo parecido pero para web, digamos un applet o una aplicacion web hecha en java para poder usar estas librerias con el hardware.

    ResponderBorrar
  21. muchas gracias me ha sido de mucha utilidad, eres excelente en lo que haces.

    ResponderBorrar
  22. Hola me sale este error:
    Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: javax.swing.JScrollPane.append
    at Formularios.CapturaHuella.EnviarTexto(CapturaHuella.java:231)
    y la linea 231 esta esto: txtArea.append(string + "\n");
    Y el generador de errores de NetBean dice cannon fin symbol append.
    Por favor me ayudan soy novato en esto yo programo con PHP
    Gracias

    ResponderBorrar
    Respuestas
    1. txtArea no es un JScrollPane sino un JTextArea.

      Borrar
  23. Hola tengo todo ya listo..pero cuando ejecuto el proyecto no lee el lector de huellas
    es digitalpersona u.are.u 4000b

    ResponderBorrar
  24. Excelente mi amigo, me ha sido de mucha utilidad. Te felicito

    ResponderBorrar
  25. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  26. Hola que tal jair espero puedas ayudarme, sucede que me marca un error en la parte del metodo de EnviarTexto, el error me lo marca en la palabra 'string', crei que el problema era por la primer letra y lo cambia a 'String' pero continua el problema... que puedo hacer?

    ResponderBorrar
  27. Publicar en estos blogs es un peligro

    ResponderBorrar
  28. Amigo Excelente proyecto Felicitaciones ,discúlpame pero me podrías ayudar con esta error "Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: com.digitalpersona.onetouch.jni.JniException
    at com.digitalpersona.onetouch.capture._impl.DPFPCaptureFactoryImpl$CaptureImpl.startCapture(DPFPCaptureFactoryImpl.java:187)
    at Formularios.CapturaHuella.start(CapturaHuella.java:385)" yo estoy utilizando el DigitalPersona 4000b

    ResponderBorrar
    Respuestas
    1. Me sale el mismo error alguien ya logro resolverlo.?? Saludos

      Borrar
    2. ByteArrayInputStream datosHuella = new ByteArrayInputStream(template.serialize());

      Amigo tengo el mismo error pero el codigo me sale en esa linea cuando voya obtener los datos de la huella. alguien ya lo soluciono.

      Borrar
    3. Encontre la solucion al cerrar el Jframe llamar el metodo

      public void stop(){
      Lector.stopCapture();
      EnviarTexto("No se está usando el Lector de Huella Dactilar ");
      }
      la variable reinicia y el error se soluciona cualquier duda ed_cnsgraf@hotmail.com

      Borrar
    4. yo tambien tengo ese error y quiero sus ayudas porfa... luchowil@hotmail.com

      Borrar
    5. pudiste resolver el problema osea el error es xq no captura verificar los metodos donde guarda la huella

      Borrar
    6. Este comentario ha sido eliminado por el autor.

      Borrar
    7. Este comentario ha sido eliminado por el autor.

      Borrar
    8. Este comentario ha sido eliminado por el autor.

      Borrar
    9. Tengo el mismo error de Nilss Lopez.
      podrian ayudarme..
      ame_1567@hotmail.com

      Borrar
  29. carlos eduardo 12 de diciembre de 2014
    jair alfonso rios soy estudiante de ingenieria de la unversidad unipanamericana en bogota colombia estoy interesado en toda la informacion de como programar el lector biometrico por que tengo un proyecto que realizar para lectura de huellas y guardarlas en la dase de datos le agradeceria enormemente si pudieras enviarme toda la informacion de como programar el lector al correo
    carloseduardo_1968@hotmail.com

    ResponderBorrar
  30. muy buenas
    pana soy estudiante del sena regional choco. Quisiera que me colaborara en algo sobre este proyecto necesito que el software de lector de huellas apenas yo ponga el dedo en el lector el software haga una autoverificacion en la base de datos y me diga si la huella se encuentra y a quien pertenece.
    bueno llamemoles una autoverificacion y omitir el boton verificar.

    gracias seria de mucha ayuda porque estoy desarrollando un proyecto igual asi como el suyo

    se puede comunicar conmigo por este correo: zero199211@hotmail.com

    ResponderBorrar
  31. Buen aporte .. los veo en la webdelprogramador y si quieren ganar dinero por internet de verdad escribanme a microcomputii@gmail.com

    ResponderBorrar
  32. Hermano descargue tu ejemplo y al monento dde ejecutarlo me dice en e jtextArea que el captahuella esta desconectado hice todas ls instalacionees del sdk incluyendo donde debo de poner las librerias pero nada, me puedes ayudar?? por favor

    ResponderBorrar
  33. Hola Amigos

    Comentarles que realice el escaneo de huellas dactilares pero desde un applet ahora los exploradores no soportan applets deseo incorporar esta funcion a la web existe alguna forma?

    ResponderBorrar
  34. Muchas gracias por compartir. 04 Marzo 2016 Funciona perfecto. DigitalPersona 4500.

    ResponderBorrar
  35. Saludos, estuve investigando y el lector de huella digital Persona al parecer no es compatible con Windows 10 y 8, me podrías decir si ¿¿¿hay manera de adaptarlo a estos sistemas operativos???, y ¿¿los archivos Jar que utilizas pueden ser compatibles con otros lectores ???.. de antemano muchas gracias ....

    ResponderBorrar
  36. disculpa podrias proporcionarme el SDK a este correo por favor zavelzarock@gmail.com

    ResponderBorrar
  37. Estimados, confirmo que el sistema de huella con el sdk y los codigos entregados en este ejemplo, son validos aunque le modifique algunos solamente funciona tanto en windows 10,8.1 y windows 7.

    Saludos desde Chile

    ResponderBorrar
    Respuestas
    1. me puedes enviar el codigo a mi correo gracias quiero ver como gurdar las huellas en la base de datos nelson.o.vasquez@gmail.com

      Borrar
    2. Me podrias enviar el codigo a mi correo, carlos_bedoya97@hotmail.com gracias.

      Borrar
  38. Hola, algun ejemplo o codigo para implementar el lector de huelas u are u 4500 con el sdk en el lenguaje de programacion javascript y php con formularios html.
    si alguien sabe algo mandarme su respuesta a mi correo se los agradeseria mucho
    richardcasval@gmail.com

    ResponderBorrar
  39. Nunca terminaste de crear el metodo procesarCaptura, me podrias ayudar en esa parte por favor?, aparte me da un error con el scrollpanel, dice que "alcanzó el final del archivo mientras analizaba", ayuda por favor.

    ResponderBorrar