Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Obtener datos de un fichero PDF (https://www.clubdelphi.com/foros/showthread.php?t=66028)

Lourdes.Fdez 28-01-2010 16:57:55

Obtener datos de un fichero PDF
 
Necesito hacer una aplicación que lea de unos pdf´s ya generados un dato en concreto, por ejemplo un dni, una cuenta,....

Tengo dos dudas:

1. Teniendo un pdf en pantalla, ¿de qué manera puedo obtener las coordenadas del movimiento del ratón?

He intentado a poner un componente ACROPdf, en el que cargo un pdf, pero no tengo eventos del ratón , como el OnMouseMove,... También he intentado poner por debajo un componente TImage y por encima el pdf, e implemento el evento OnMouseMove de la imagen, pero no lo ejecuta por tener por encima el AcroPdf.

2. Una vez que obtengo esas coordenadas, cómo puedo recoger del pdf el dato que está en esas coordenadas?

Me he centrado en las librerías PDFLib y ACROPdf, a lo mejor estoy equivocada y este no es el camino.

¿¿Alguien puede ayudarme??

Gracias de antemano. Lourdes.

cocute 28-01-2010 18:54:15

igual el PDFtoolkit VCL de gnostice.com te iria mejor,
eso si es de pago y carillo.

Lourdes.Fdez 29-01-2010 10:57:09

Pues les echaré un vistazo, he visto que te puedes descargar una versión Trial, por lo menos podré ver si puedo hacer lo que quiero.
Muchas gracias

rgstuamigo 29-01-2010 20:23:23

1 Archivos Adjunto(s)
Cita:

Empezado por Lourdes.Fdez (Mensaje 352128)
Necesito hacer una aplicación que lea de unos pdf´s ya generados un dato en concreto, por ejemplo un dni, una cuenta,....

Tengo dos dudas:

1. Teniendo un pdf en pantalla, ¿de qué manera puedo obtener las coordenadas del movimiento del ratón?

He intentado a poner un componente ACROPdf, en el que cargo un pdf, pero no tengo eventos del ratón , como el OnMouseMove,... También he intentado poner por debajo un componente TImage y por encima el pdf, e implemento el evento OnMouseMove de la imagen, pero no lo ejecuta por tener por encima el AcroPdf.

2. Una vez que obtengo esas coordenadas, cómo puedo recoger del pdf el dato que está en esas coordenadas?

Me he centrado en las librerías PDFLib y ACROPdf, a lo mejor estoy equivocada y este no es el camino.

¿¿Alguien puede ayudarme??

Gracias de antemano. Lourdes.

Lo que veo mejor que puedes hacer es copiar el texto en question de tu pdf que tienes abierto en delphi(Ctrl+C) y utilizar el portapapeles(Clipboard) para obtenerlo en un edit,memo o lo que tu prefieras, desde luego algunos archivos PDF no te permiten copiar nada,en especial aquellos archivos que son escaneados(todo es Imagen), lo cual implica utilizar (segun he visto)algun algoritmo para el Reconocimiento óptico de caracteres (OCR), cosa que personalmente nunca he hecho:o; claro está que desde luego existen herramientas(Programas) que te hacen eso.;).
Bueno..volviendo al uso del Portapapeles pues me he tomado la molestia de hacerte un archivo ejemplo, el cual te estoy adjuntado.Solo abre el archivo .dpr y compila para que te genere el ejecutable.
Lo que estoy haciendo en el ejemplo es poder capturar(usando algunas API de Windows y capturando algunos mensajes) cuando el portapapeles cambia, entonces copio el cambio a un componente TMemo que tengo para eso; en otras palabras cuando se copia algo(Ctrl+C) del PDF o de cualquier otra parte, dicha copia lo extraigo al Memo.;).
Nota:El ejemplo esta hecho en Delphi 7 y estoy usando un componente ACROPdf. <-- (ActiveX).
Espero que te sea de utilidad...;).
Saludos...:)

Lourdes.Fdez 01-02-2010 09:05:57

Obtener datos de un fichero PDF
 
Hola,

muchas gracias ante todo por tu tiempo.
Cuando intento abrir tu proyecto, me da el típico error "Error creating form: Error no especificado", y obviamente no me abre el formulario...

Tengo en la pestaña ActiveX el componente AcroPdf, con lo que no sé muy bien a que es debido.

Un saludo.

rgstuamigo 01-02-2010 14:12:42

1 Archivos Adjunto(s)
Cita:

Empezado por Lourdes.Fdez (Mensaje 352465)
Hola,

muchas gracias ante todo por tu tiempo.
Cuando intento abrir tu proyecto, me da el típico error "Error creating form: Error no especificado", y obviamente no me abre el formulario...

Tengo en la pestaña ActiveX el componente AcroPdf, con lo que no sé muy bien a que es debido.

Un saludo.

Talves sea :rolleyes: un error de version del Componente ActiveX AcroPdf que tengo yo con respecto al tuyo. Pero lo bueno es, que tienes el código fuente (Unit1.pas)que puedes abrirlo y mirar el código.;).
De todas formas te voy a adjuntar el archivo exe para que lo hagas correr y lo mires.;).
Saludos...:)

Lourdes.Fdez 03-02-2010 09:58:29

Obtener datos de un fichero PDF
 
Hola rgstuamigo,

he estado un poco liada con otras cosas, pero el caso es que hoy me he puesto a hacer el proyecto con los fuentes que me dejaste, y tengo una duda:

- No tengo claro cuando se ejecuta el procedimiento "WMChangeCBChain".
- Cuando seleccionas un texto mediante el cursor, te aparecen dos iconos en forma de triángulo limitándote el texto seleccionado. ¿Cómo puedo saber las coordenadas de esos cursores para en otros pdf poder acceder a esas posiciones y sacar la información?

Gracias y un saludo.

rgstuamigo 03-02-2010 23:51:57

Cita:

Empezado por Lourdes.Fdez (Mensaje 352719)
Hola rgstuamigo,

he estado un poco liada con otras cosas, pero el caso es que hoy me he puesto a hacer el proyecto con los fuentes que me dejaste, y tengo una duda:

- No tengo claro cuando se ejecuta el procedimiento "WMChangeCBChain".
- Cuando seleccionas un texto mediante el cursor, te aparecen dos iconos en forma de triángulo limitándote el texto seleccionado. ¿Cómo puedo saber las coordenadas de esos cursores para en otros pdf poder acceder a esas posiciones y sacar la información?

Gracias y un saludo.

El Procedimiento WMChangeCBChain lo que hace es que captura el mensaje WM_CHANGECBCHAIN , si quieres saber mas sobre dicho mensaje; búscalo en el menú(Help>Windows SDK) de ayuda de Delphi. o en su defecto tambien aqui.;).
Aunque veo :rolleyes: que primero deberias entender que es eso de "Mensaje de Windows".;). Tambien estos otros link(1,2,3,4,etc.) te pueden orientar más sobre los dichosos mensajes.;)
Te recomiendo leer todo sin flojear si quieres aprender :D y en lo posible has práctica.;)
Saludos...:)


La franja horaria es GMT +2. Ahora son las 11:56:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi