Extracción básica de texto usando Python

Extraer texto de todas las páginas de un documento PDF

Usar TextAbsorber para capturar todo el texto de cada página de un documento PDF y escribirlo en un archivo de texto. Este enfoque es adecuado para convertir PDFs a texto indexable, ejecutar análisis de contenido o preparar texto para la indexación y el procesamiento posterior.

  1. Abrir el documento PDF usando Documento.
  2. Crear un TextAbsorber instancia.
  3. Llamar document.pages.accept(text_absorber) para escanear todas las páginas.
  4. Recuperar el texto extraído de text_absorber.text.
  5. Escribe el resultado en un archivo de texto de salida.
import os
import aspose.pdf as ap


def extract_text_from_all_pages(infile, outfile):
    """
    Extract all text from every page of the PDF and write to an output text file.
    Args:
        infile (str): Path to input PDF file.
        outfile (str): Path to output text file.
    """
    # Open the PDF document
    document = ap.Document(infile)
    # Create a TextAbsorber to extract text
    text_absorber = ap.text.TextAbsorber()
    # Accept the absorber for all pages
    document.pages.accept(text_absorber)
    # Get extracted text
    extracted_text = text_absorber.text
    # Write the text to an output file
    with open(outfile, "w", encoding="utf-8") as tw:
        tw.write(extracted_text)

Extraer texto de una página particular

Aplicar TextAbsorber a una sola página para aislar y guardar el texto de esa sección de un documento de varias páginas. Esto es útil cuando solo necesitas contenido de una página — por ejemplo, una factura, una sección de informe o un resumen de formulario.

  1. Abrir el documento PDF usando Documento.
  2. Crear un TextAbsorber instancia.
  3. Llamar accept en la página de destino: document.pages[page_number].accept(text_absorber).
  4. Recupera el texto extraído y escríbelo en un archivo.
import os
import aspose.pdf as ap


def extract_text_from_page(infile, outfile, page_number):
    """
    Extract text from a specific page number of the PDF.
    Args:
        infile (str): Path to input PDF file.
        outfile (str): Path to output text file.
        page_number (int): 1-based page index to extract.
    """
    document = ap.Document(infile)
    text_absorber = ap.text.TextAbsorber()
    # Accept the absorber on only the specified page
    document.pages[page_number].accept(text_absorber)
    extracted_text = text_absorber.text
    with open(outfile, "w", encoding="utf-8") as tw:
        tw.write(extracted_text)