Exportación de datos PDF usando Python

A veces, tenemos que extraer datos de PDF. tenemos que copiar y pegar los datos del PDF. Lleva mucho tiempo. En Python, hay paquetes que podemos usar para extraer datos de un PDF y exportarlos en un formato diferente usando Python. Aprenderemos cómo extraer datos de archivos PDF.

Extraer texto con PDFMiner

PDFMiner es una herramienta de extracción de texto para documentos PDF. puede intentar usar pip para instalar PDFminer en su sistema como:

pip install pdfminer

Comencemos con la extracción de todo el texto del PDF página por página. Requiere los siguientes pasos para extraer los datos de las páginas

  • crear una instancia de administrador de recursos.
  • cree un objeto similar a un archivo a través del módulo io de Python.
  • crear un convertidor.
  • cree un objeto intérprete de PDF que tomará nuestro administrador de recursos y objetos de conversión y extraerá el texto.
  • abra el PDF y recorra cada página.

A continuación se muestra la implementación.

Archivo PDF utilizado:

python-pdfminer-1

import io
from pdfminer.converter import TextConverter
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfpage import PDFPage
  
  
def extract_text_by_page(pdf_path):
  
    with open(pdf_path, 'rb') as fh:
          
        for page in PDFPage.get_pages(fh, 
                                      caching=True,
                                      check_extractable=True):
              
            resource_manager = PDFResourceManager()
            fake_file_handle = io.StringIO()
              
            converter = TextConverter(resource_manager, 
                                      fake_file_handle)
              
            page_interpreter = PDFPageInterpreter(resource_manager,
                                                  converter)
              
            page_interpreter.process_page(page)
            text = fake_file_handle.getvalue()
              
            yield text
              
            # close open handles
            converter.close()
            fake_file_handle.close()
              
def extract_text(pdf_path):
    for page in extract_text_by_page(pdf_path):
        print(page)
        print()
          
# Driver code
if __name__ == '__main__':
    print(extract_text('GFG.pdf'))

Producción:

python-pdfminer-extract-data-from-pdf

En este ejemplo, creamos una función que produce el texto de cada página. La función extract_text imprime el texto de cada página.

Publicación traducida automáticamente

Artículo escrito por navalraj2736 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *