Leer un archivo PDF

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

Leer un archivo PDF

Notapor Sailacos » Mar May 15, 2018 3:43 pm

Muy buenas ¡¡¡

¿Existe algún módulo que tenga la función de leer un archivo PDF?
Algo parecido a:

Código: Seleccionar todo   Expandir vistaContraer vista
from PyPDF2 import PdfFileReader


Necesito capturar los nombres de las páginas y los marcadores de los archivos PDF

Saludos
OpenOffice 4.1.5 en Windows 7
Sailacos
 
Mensajes: 4
Registrado: Vie May 11, 2018 8:53 am

Re: Leer un archivo PDF

Notapor mauricio » Mar May 15, 2018 3:54 pm

Ya te respondiste, usa Python para eso...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 5.4 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5569
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: Leer un archivo PDF

Notapor Sailacos » Mar May 15, 2018 5:12 pm

El problema es que al importar de PyPDF2 en el siguiente código me devuelve un error
Si elimino la linea 1 funciona correctamente, así que no puedo seguir con la función que lee el pdf con PdfFileReader

Código: Seleccionar todo   Expandir vistaContraer vista
from PyPDF2 import PdfFileReader
from collections import defaultdict
import os, string, uno
oDoc = XSCRIPTCONTEXT.getDocument()

# Función que coloca el nombre de los archivos PDF en una columna
def main(a):
   num = 1
   oSheet = oDoc.CurrentController.ActiveSheet
   
   for i in archivos():
      oCell = oSheet.getCellRangeByName("A" + str(num))
      oCell.setString(i)
      num += 1

   return None

# Función que devuelve los archivos .PDF de la carpeta del path
def archivos():
   path = "C:/Python"
   lstFiles = []
   lstDir = os.walk(path)

   for root, dirs, files in lstDir:
      for fichero in files:
         (nombreFichero, extension) = os.path.splitext(fichero)
         if(extension == ".pdf"):
            lstFiles.append(nombreFichero+extension)

   return lstFiles
Adjuntos
ERROR.JPG
ERROR.JPG (73.68 KiB) Visto 102 veces
OpenOffice 4.1.5 en Windows 7
Sailacos
 
Mensajes: 4
Registrado: Vie May 11, 2018 8:53 am

Re: Leer un archivo PDF

Notapor mauricio » Mar May 15, 2018 5:59 pm

Claro, en Windows no tienes acceso al core de Python del sistema, por eso te da ese error... si la librería que quieres usar es "pure Python", solo hay que copiarla al pythonpath dentro de los scripts de OpenOffice, si no, un posible camino; desde "fuera" de OpenOffice, genera un script de Python que haga todo el trabajo, deja el resultado en un archivo CSV, al final, importa este archivo, ahora si, desde dentro de OpenOffice...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 5.4 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5569
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: Leer un archivo PDF

Notapor mauricio » Mié May 16, 2018 2:52 am

Encontré dos proyectos que dicen ser "pure Python" para leer PDF:

https://github.com/pmaupin/pdfrw
https://github.com/mstamy2/PyPDF2

El primero dice tener soporte para Python desde 2.6, solo es cuestión de probarlos.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 5.4 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5569
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: Leer un archivo PDF

Notapor Sailacos » Jue May 17, 2018 4:03 pm

Copié PyPDF2 al pythonpath y funcionó sin problema, muchas gracias ¡¡¡
Ahora bien, el archivo lo tengo en red y se abre desde muchos puestos. Al estar instalado el PyPDF2 en local, no funcionará si abrimos el archivo desde otro equipo, ¿cierto?
¿No hay manera de que quede todo insertado en el archivo, para que, de este modo, sea portable?
OpenOffice 4.1.5 en Windows 7
Sailacos
 
Mensajes: 4
Registrado: Vie May 11, 2018 8:53 am


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: naves y 2 invitados