Traté de imprimir páginas de un documento pdf:

import PyPDF2
FILE_PATH = 'my.pdf'
with open(FILE_PATH, mode='rb') as f:
    reader = PyPDF2.PdfFileReader(f)
    page = reader.getPage(0) # I tried also other pages e.g 1,2,..
    print(page.extractText())

Pero solo obtengo mucho espacio en blanco y ningún mensaje de error. ¿Podría ser que esta versión en pdf (my.pdf) no sea compatible con PyPDF2?

Esto lo resolvió (imprime todas las páginas del documento). Gracias

from pdfreader import SimplePDFViewer
fd = open("my.pdf", "rb")
viewer = SimplePDFViewer(fd)
for i in range(1,16): # need range from 1 - max number of pages +1
    viewer.navigate(i)
    viewer.render()
    page_1_content=viewer.canvas.text_content
    page_1_text = "".join(viewer.canvas.strings)
    print (page_1_text)
1
rob 21 abr. 2020 a las 22:58

2 respuestas

La mejor respuesta

Pruebe pdfreader

from pdfreader import SimplePDFViewer

fd = open("my.pdf", "rb")
viewer = SimplePDFViewer(fd)
viewer.render()

page_0_content=viewer.canvas.text_content
page_0_text = "".join(viewer.canvas.strings)
0
Maksym Polshcha 21 abr. 2020 a las 20:20

Si está en blanco, el PDF se está leyendo y pypdf no puede leer su formato, por lo que solo sale en blanco. Tal vez ponga la ruta de archivo absoluta en lugar de la ruta de archivo relativa. Si todo lo demás falla, intente con diferentes PDF, y si hay una versión que funciona y la suya no funciona, es posible que deba convertir la suya a ese tipo de trabajo.

0
Kirby Forsberg 21 abr. 2020 a las 20:06