PDF-Extract-Kit: Extraiga la compleja estructura del contenido PDF de la herramienta de código abierto

Introducción general

PDF-Extract-Kit es un proyecto de código abierto desarrollado por el equipo OpenDataLab , centrado en la extracción eficiente de contenido de alta calidad a partir de documentos PDF complejos y diversos . Integra tecnología avanzada de análisis sintáctico de documentos , soporte para la detección de diseño , reconocimiento de fórmulas , extracción de tablas y OCR y otras funciones , aplicable a trabajos académicos , informes de investigación , documentos financieros y otros escenarios. La herramienta adopta un diseño modular , los usuarios pueden ser configurados de forma flexible de acuerdo a las necesidades del usuario para construir fácilmente aplicaciones de procesamiento de documentos personalizados . PDF-Extract-Kit proporciona puntos de referencia de evaluación completa para ayudar a los usuarios a elegir el modelo más adecuado , mientras que constantemente actualizado y optimizado , como la reciente adición de DocLayout-YOLO más rápido y StructTable . -InternVL2-1B. Tanto desarrolladores como investigadores pueden conseguir con él una extracción eficaz del contenido de los documentos.

PDF-Extract-Kit:提取复杂结构PDF内容的开源工具

 

Lista de funciones

  • Detección del trazadoReconoce diseños de página en PDF, incluyendo áreas como encabezados, párrafos, imágenes y tablas, con soporte para modelos eficientes como DocLayout-YOLO.
  • reconocimiento de fórmulas: Extrae y analiza fórmulas matemáticas de documentos y las convierte a formato LaTeX, apoyándose en tecnologías avanzadas como UniMERNet.
  • Extracción de formularios: Admite el reconocimiento y la extracción de contenido de tablas complejas, con salida en formatos LaTeX, HTML y Markdown.
  • Tratamiento OCR: Convierte texto de documentos escaneados o imágenes en texto editable mediante tecnologías como PaddleOCR.
  • Configuración modular: Proporciona perfiles flexibles que permiten a los usuarios combinar diferentes modelos y crear aplicaciones rápidamente.
  • Evaluación de contenidosDiversas pruebas de análisis de PDF integradas para ayudar a los usuarios a evaluar la eficacia de los distintos modelos.
  • Extracción de imágenes y texto: Soporte para extraer imágenes de PDF y reconocer su contenido textual.

 

Utilizar la ayuda

Proceso de instalación

PDF-Extract-Kit es compatible con múltiples sistemas operativos (por ejemplo, Ubuntu, Windows o macOS), aquí están los pasos detallados de instalación (Ubuntu 20.04 por ejemplo):

1. Preparación medioambiental

  • Asegúrese de que Python 3.10 está instalado en su sistema:
    sudo apt update
    sudo apt install python3.10 python3.10-dev python3-pip
  • Crear y activar un entorno virtual:
    conda create -n pdf-extract-kit python=3.10
    conda activate pdf-extract-kit
    

2. Instalación de dependencias

  • Clonar el repositorio de código:
    git clone https://github.com/opendatalab/PDF-Extract-Kit.git
    cd PDF-Extract-Kit
    
  • Instalar dependencias del núcleo (disponible si no hay GPU) requirements-cpu.txt):
    pip install -r requirements.txt
    

    tenga en cuentaSi se encuentra con doclayout-yolo La instalación ha fallado, puede instalarlo manualmente:

    pip3 install doclayout-yolo==0.0.2 --extra-index-url=https://pypi.org/simple
    

3. Descarga de las ponderaciones de los modelos

  • Consulte el tutorial oficial para descargar los archivos del modelo (se admite la descarga total o parcial):
    • Descargas automatizadas mediante scripts de Python:
      python scripts/download_models_hf.py
      
    • O descárgalo manualmente desde Hugging Face:
      git lfs install
      git clone https://huggingface.co/opendatalab/PDF-Extract-Kit-1.0
      
  • Una vez finalizada la descarga, coloque los archivos del modelo en la ruta especificada en el directorio del proyecto (consulte la sección configs/model_configs.yaml).

4. Verificación de la instalación

  • Ejecute el script de ejemplo para comprobar que el entorno funciona:
    python pdf_extract.py --pdf assets/examples/example.pdf
    

    La salida se guardará en el archivo outputs carpeta.

Función Flujo de operaciones

Detección del trazado

  1. Preparación de archivos PDF: Coloque el PDF que va a procesar en el directorio del proyecto (p. ej. assets/examples/).
  2. Inspección del trazado::
    • modificaciones configs/layout_detection.yaml La ruta de entrada en el
      pdf_path: "assets/examples/example.pdf"
      output_dir: "outputs/layout_detection"
      
    • Ejecuta el comando:
      python scripts/layout_detection.py --config=configs/layout_detection.yaml
      
  3. Ver resultados: en outputs/layout_detection generando imágenes y archivos JSON con las áreas de diseño etiquetadas.

reconocimiento de fórmulas

  1. Ejecutar la extracción de fórmulas::
    • Utiliza la configuración por defecto:
      python pdf_extract.py --pdf your_file.pdf --render
      
    • --render muestra la fórmula como una imagen para facilitar la verificación.
  2. Ver salidaLas fórmulas se almacenan en JSON de salida en formato LaTeX y se pueden utilizar directamente en la escritura académica o el procesamiento posterior.

Extracción de formularios

  1. Identificación del formulario de ejecución::
    • Asegúrese de que se ha descargado StructTable-InternVL2-1B Modelos.
    • Ejecuta la extracción completa:
      python pdf_extract.py --pdf your_file.pdf
      
  2. Selección del formato de salida::
    • Modificar el archivo de configuración configs/model_configs.yamlAjustes table_format debido a latexyhtml tal vez markdown.
  3. Resultados: El contenido del formulario se guardará en el directorio de salida en el formato especificado.

Tratamiento OCR

  1. Procesamiento de PDF escaneados::
    • Para los PDF gráficos, asegúrese de que el OCR está activado:
      python pdf_extract.py --pdf scan_file.pdf --vis
      
    • --vis Los parámetros generan resultados de visualización, anotando áreas del texto reconocido.
  2. Comprobar la salida: El contenido del texto se guarda en un formato editable y los resultados del reconocimiento imagen-texto pueden verse de un vistazo.

Función destacada Operación

Configuración modular

  • compilador configs/model_configs.yamlAjuste los parámetros:
    • img_sizeResolución de imagen.
    • conf_thres: Umbrales de confianza.
    • device: Selección cuda(GPU) o cpu.
  • Ejemplo:
    model_args:
    img_size: 1024
    conf_thres: 0.5
    device: "cuda"
    

Optimización del alto rendimiento

  • Se puede activar el procesamiento por lotes para dispositivos de gran capacidad (≥16GB de memoria de vídeo):
    python pdf_extract.py --pdf your_file.pdf --batch-size 128
    
  • Aumentar la velocidad de análisis 50% o superior, adecuado para el procesamiento por lotes.

Soporte multilingüe

  • establecer lang debido a autoEl modelo de OCR se utiliza para reconocer automáticamente el idioma del documento y seleccionar el modelo de OCR adecuado:
    ocr_args:
    lang: "auto"
    

advertencia

  • requisitos de hardware: Las GPU (por ejemplo, las tarjetas gráficas NVIDIA) pueden aumentar drásticamente la velocidad de procesamiento y se recomienda que tengan ≥8 GB de memoria de vídeo.
  • problemas comunes::
    • Si se le pregunta si falta cv2Ejecutar pip install opencv-python.
    • Si la descarga del modelo está incompleta, compruebe la red o cambie el método de descarga.
  • Apoyo comunitarioSi tienes alguna pregunta, hazla en los foros de GitHub Discussions o Issues.

Mediante los pasos anteriores, los usuarios pueden empezar a utilizar PDF-Extract-Kit fácilmente y completar de forma eficaz la extracción de contenido PDF complejo.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...