Página 1 de 1

Leer un archivo PDF

NotaPublicado: Mar May 15, 2018 3:43 pm
por Sailacos
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

Re: Leer un archivo PDF

NotaPublicado: Mar May 15, 2018 3:54 pm
por mauricio
Ya te respondiste, usa Python para eso...

Re: Leer un archivo PDF

NotaPublicado: Mar May 15, 2018 5:12 pm
por Sailacos
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

Re: Leer un archivo PDF

NotaPublicado: Mar May 15, 2018 5:59 pm
por mauricio
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

Re: Leer un archivo PDF

NotaPublicado: Mié May 16, 2018 2:52 am
por mauricio
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

Re: Leer un archivo PDF

NotaPublicado: Jue May 17, 2018 4:03 pm
por Sailacos
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?