** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Extraer datos de un pdf
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoExtraer datos de un pdf

 Responder Responder
Autor
Mensaje
Chico Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 10/Julio/2013
Estado: Sin conexión
Puntos: 41
Enlace directo a este mensaje Tema: Extraer datos de un pdf
    Enviado: 28/Enero/2017 a las 19:02
Hola, no sé si hay algún código que me extraiga datos de un pdf y me lo guarde en una tabla. He visto un código pero no sé como incorporarlo a una base de datos.

Gracias, Saludos
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5138
Enlace directo a este mensaje Enviado: 28/Enero/2017 a las 19:13
Hola!

En la página del maestro Jesús "Mihura" tienes un ejemplo de cómo hacerlo.

http://www.accessaplicaciones.com/ejemplos.html#m09
Un Saludo.
Arriba
Chico Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 10/Julio/2013
Estado: Sin conexión
Puntos: 41
Enlace directo a este mensaje Enviado: 28/Enero/2017 a las 19:32
Muchasss gracias   
Arriba
jorros Ver desplegable
Habitual
Habitual
Avatar

Unido: 20/Octubre/2008
Localización: España
Estado: Sin conexión
Puntos: 93
Enlace directo a este mensaje Enviado: 30/Enero/2017 a las 10:47

Buenos días Mounir 

Me ha parecido muy útil el ejemplo que citas de Mihura. Al probarlo me da  un error 55 Archivo no encontrado en la línea:  Open CurrentProject.Path & "\AuxTexto.txt" For Input As #1 

He probado desde varios archivos, en varias ubicaciones y todos dan ese error. No consigo averiguar a que se debe.

Uso: W7 64bits,  A2010

Un saludo

Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 11916
Enlace directo a este mensaje Enviado: 30/Enero/2017 a las 11:32
Se que es obvio pero, ¿has verificado que, en la misma carpeta dónde ejecutas la aplicación, existe un fichero llamado AuxTexto.txt?
Xavi, un minyó de Terrassa

Mi web
Arriba
jorros Ver desplegable
Habitual
Habitual
Avatar

Unido: 20/Octubre/2008
Localización: España
Estado: Sin conexión
Puntos: 93
Enlace directo a este mensaje Enviado: 30/Enero/2017 a las 11:39
No existe ese fichero, ni lo genera la aplicación cuando se ejecuta, ni esta en el ejemplo de Mihura.
Arriba
jorros Ver desplegable
Habitual
Habitual
Avatar

Unido: 20/Octubre/2008
Localización: España
Estado: Sin conexión
Puntos: 93
Enlace directo a este mensaje Enviado: 30/Enero/2017 a las 11:40
Lo he creado, en la misma carpeta, en blanco, y sigue dando el error
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 10995
Enlace directo a este mensaje Enviado: 30/Enero/2017 a las 11:56
Veamos, el fichero AuxTexto.txt es un auxiliar dónde el programa pdftotext.exe pone el texto que encuentra en el fichero PDF seleccionado.

Es decir, no está funcionando el proceso que lo obtiene.

¿El pdftotext.exe está en la misma carpeta que el access que lo ejecuta?

¿Tienes puesta la versión correcta de pdftotext 32/64 bits?


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 11916
Enlace directo a este mensaje Enviado: 30/Enero/2017 a las 11:58
Vale, reconozco que he escrito sin probar el ejemplo.

Ahora lo he hecho y... no puedo ayudarte: en mi ordenador me salta el error -2147024894 (80070002): Error en el método 'Run' del objeto IWshShell3.

Tengo que mirarlo (y ahora voy pillado)

Xavi, un minyó de Terrassa

Mi web
Arriba
jorros Ver desplegable
Habitual
Habitual
Avatar

Unido: 20/Octubre/2008
Localización: España
Estado: Sin conexión
Puntos: 93
Enlace directo a este mensaje Enviado: 30/Enero/2017 a las 18:36
Hola Mihura, Lo estoy probando en este momento, si lo meto en el directorio de access, me da el mismo error que a Xavi

La versión de 64bit no soy capaz de localizarla, si pudieras ponerme la pagina del sitio te estaría muy agradecido

Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 10995
Enlace directo a este mensaje Enviado: 30/Enero/2017 a las 18:47
¿Te has leído lo que pongo en la web con el ejemplo?

Cita
Nota importante: el programa que ejecuta el proceso es el pdftotext.exe, es imprescindible usar el correspondiente a vuestro sistema operativo, ya sea de 32 ó 64 bits. El que esta incluido en el ejemplo es el de 64 bits, en el caso de que tu sistema operativo sea de 32 bits, bastará con renombrar los archivos (incluyo el pdftotext32.exe)


Intenta ejecutar a mano el programa a ver si te funciona:

pdftotext -layout NombrePDF AuxTexto.txt


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
Chico Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 10/Julio/2013
Estado: Sin conexión
Puntos: 41
Enlace directo a este mensaje Enviado: 10/Marzo/2017 a las 23:19
Hola Jesús, he seguido los pasos que me comentas, primero he convertido el pdf en txt y después quiero leerlo y extraer los datos que me interesan de ese texto, aquí es donde me he atrancado, he utilizado este código pero consigo leer las líneas del txt:
 
Dim strLinea As String
Dim strCaracter As String
Dim intCaracteres As Integer
Dim intContador As Integer
Open "C:\Users\Downloads\pepe.txt" For Input As 1
While Not EOF(1)
Line Input #1, strLinea
 intCaracteres = Len(strLinea)
 For intContador = 1 To intCaracteres
strCaracter = Mid(strLinea, 1500, 10)
Next
Wend
MsgBox strCaracter
Close 1
 
Entiendo que todo lo que se lee se almacena en strLinea y con la instrucción Mid indico donde quiero extraer y lo que quiero extraer. El problema es que no cual es la posición de cada palabra en el txt, es decir voy un poco a ciegas probando y segundo que no he conseguido extraer más datos que la primera línea.
 
Gracias, Saludos
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 10995
Enlace directo a este mensaje Enviado: 11/Marzo/2017 a las 10:17
Hola,

Publicado originalmente por Chico Chico escribió:

El problema es que no cual es la posición de cada palabra en el txt, es decir voy un poco a ciegas probando

Pues ese es el trabajo de un informático ... LOL

Eres tú quién tiene que analizar el fichero de texto y ver en que posición viene la información que te interesa, o como se delimita, o en que línea y posición...

Método Benedictino total.



Publicado originalmente por Chico Chico escribió:

... y segundo que no he conseguido extraer más datos que la primera línea.

Con el código que posteas, la variable strCaracter contendrá el valor encontrado en la última línea del fichero de texto -los primeros diez caracteres que se encuentren a partir de la posición 1500-.





Editado por Mihura - 11/Marzo/2017 a las 10:17
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable