AutoPDFTagger es una herramienta de Python diseñada para una organización eficiente de oficina para el hogar, centrándose en digitalizar y organizar documentos digitales y en papel. Al automatizar el etiquetado de archivos PDF, incluidos documentos ricos en imágenes y escaneos de calidad variable, su objetivo es optimizar la organización de los archivos digitales.
En la era digital avanzada, muchos documentos ahora se entregan digitalmente, sin embargo, los documentos significativos a menudo aún llegan en forma de papel. Mirando hacia un futuro digital, la consolidación de estos documentos en un archivo digital unificado se vuelve cada vez más valioso. El escaneo simple usando cámaras de teléfonos inteligentes lo ha hecho práctico. Sin embargo, la confiabilidad de las tecnologías OCR existentes y su capacidad limitada para indexar efectivamente contenido no textual, como dibujos o fotos, obstaculiza la capacidad de búsqueda de estos documentos. AutopDFTagger tiene como objetivo cerrar esta brecha ofreciendo el análisis y la organización de archivos PDF asistidos por AI-AI, mejorando su búsqueda y organización con un nivel de precisión comparable al esfuerzo humano.
Por el momento, existe un prototipo funcional en forma de un programa terminal con un módulo de Python, que demuestra su funcionalidad y ya ha logrado resultados impresionantes para mí. Para una aplicación más amplia, muchas mejoras detalladas son ciertamente necesarias, especialmente en las pruebas, la optimización PROMT, el manejo de errores y la documentación.
Si encuentra útil esta herramienta y tiene ideas para mejorarla, no dude en contribuir. Si bien no soy un programador a tiempo completo y no me siento profesional en absoluto, cualquier sugerencia o mejoras son bienvenidas. Envíe informes de errores, solicitudes de funciones o cualquier otro comentario. ¡Gracias por pasar por aquí!
$ pip install git+https://github.com/Uli-Z/autoPDFtaggerCree el archivo de configuración y guárdelo en ~/.autopdftagger.conf :
; Configuration for autoPDFtagger
[DEFAULT]
language = {YOUR LANGUAGE}
[OPENAI-API]
API-Key = {INSERT YOUR API-KEY}El programa está fundamentalmente estructurado de la siguiente manera:
file analysis )text analysis )image analysis )tag analysis )Nota: Principalmente, (casi) todas las opciones son combinables. Sin embargo, el orden de los pasos individuales es fijo; Se procesan en el orden mencionado anteriormente. En cambio, el uso de tuberías en el terminal se considera explícitamente, lo que permite pasar el estado de la base de datos a otra instancia del programa. Esto hace que sea posible verificar y modificar cada paso (por ejemplo, primer análisis de texto, luego filtrar por calidad, seguido de análisis de imágenes, luego volver a filtrar y finalmente exportar los archivos PDF). Usando JSON-Output, los resultados del programa se pueden canalizar directamente a otra instancia del programa.
$ autoPDFtagger --help
usage: autoPDFtagger [-h] [--config-file CONFIG_FILE] [-b [BASE_DIRECTORY]] [-j [JSON]] [-s [CSV]] [-d {0,1,2}] [-f] [-t] [-i] [-c] [-e [EXPORT]] [-l]
[--keep-above [KEEP_ABOVE]] [--keep-below [KEEP_BELOW]] [--calc-stats]
[input_items ...]
Smart PDF-analyzing Tool
positional arguments:
input_items List of input PDFs and folders, alternativly you can use a JSON- or CSV-file
options:
-h , --help show this help message and exit
--config-file CONFIG_FILE
Specify path to configuration file. Defaults to ~ /.autoPDFtagger.conf
-b [BASE_DIRECTORY], --base-directory [BASE_DIRECTORY]
Set base directory
-j [JSON], --json [JSON]
Output JSON-Database to stdout. If filename provided, save it to file
-s [CSV], --csv [CSV]
Output CSV-Database to specified file
-d {0,1,2}, --debug {0,1,2}
Debug level (0: no debug, 1: basic debug, 2: detailed debug)
-f , --file-analysis Try to conventionally extract metadata from file, file name and folder structure
-t , --ai-text-analysis
Do an AI text analysis
-i, --ai-image-analysis
Do an AI image analysis
-c , --ai-tag-analysis
Do an AI tag analysis
-e [EXPORT], --export [EXPORT]
Copy Documents to a target folder
-l, --list List documents stored in database
--keep-above [KEEP_ABOVE]
Before applying actions, filter out and retain only the documents with a confidence index greater than or equal to a specific
value (default: 7).
--keep-below [KEEP_BELOW]
Analogous to --keep-above. Retain only document with an index less than specified.
--calc-stats Calculate statistics and (roughly ! ) estimate costs for different analysesLea todos los archivos PDF desde una carpeta PDF_ARCHIVE , realice un análisis básico de archivos (-f) y almacene la información en un archivo json-database.json (-j [nombre de archivo]):
$ autoPDFtagger ./pdf_archive --file-analysis --json allfiles.jsonLea un análisis de JSON-Database y Análisis de texto AI, almacenando los resultados en un nuevo archivo JSON
$ autoPDFtagger allfiles.json --ai-text-analysis --json textanalysis.jsonHaga un análisis de imagen AI-AI para todos los archivos con metadatos estimados de baja calidad.
$ autoPDFtagger textanalysis.json --keep-below --ai-image-analysis --json imageanalysis.jsonRecordar todos juntos, analizar y organizar etiquetas
$ autoPDFtagger textanalysis.json imageanalysis.json --ai-tag-analysis --json final.jsonCopie los archivos en una nueva carpeta New_archive Configuración de nuevos metadatos y asignando nuevos nombres de archivo. La estructura de la carpeta original permanece sin cambios.
$ autoPDFtagger final.json -e ./new_archiveHaz todo a la vez:
$ autoPDFtagger pdf_archive -ftic -e new_archivemain.py : la interfaz terminal para la aplicación.autoPDFtagger.py : administra las funcionalidades centrales de la herramienta.AIAgents.py : clases base para la gestión de agentes de IA, incluida la comunicación de la API de OpenAI.AIAgents_OPENAI_pdf.py : agentes de IA específicos dedicados a texto, imagen y análisis de etiquetas.PDFDocument.py : Maneja documentos PDF individuales, gestión de la lectura y escritura de metadatos.PDFList.py : supervisa una base de datos de documentos PDF, sus metadatos y proporciona funciones de exportación.config.py : administra archivos de configuración.autoPDFtagger_example_config.conf : un archivo de configuración de ejemplo que describe la configuración de la tecla API de API y otras configuraciones. GPL-3