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:
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:
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