AutoPdftagger는 효율적인 홈 오피스 조직을 위해 설계된 파이썬 도구로 디지털 및 종이 기반 문서를 디지털화하고 구성하는 데 중점을 둡니다. 이미지가 풍부한 문서 및 다양한 품질 스캔을 포함하여 PDF 파일의 태깅을 자동화함으로써 디지털 아카이브 조직을 간소화하는 것을 목표로합니다.
발전하는 디지털 시대에는 많은 문서가 이제 디지털 방식으로 전달되지만 중요한 문서는 종종 종이 형태로 도착합니다. 디지털 미래를 바라보며, 이러한 문서를 통합 디지털 아카이브로 통합하는 것은 점점 더 가치가 있습니다. 스마트 폰 카메라를 사용한 간단한 스캔으로 인해 실용적이되었습니다. 그러나 기존 OCR 기술의 신뢰성과 도면이나 사진과 같은 비 텍스트 컨텐츠를 효과적으로 색인화 할 수있는 제한된 기능은 이러한 문서의 검색 가능성을 방해합니다. AutoPdftagger는 PDF 파일의 AI 지원 분석 및 구성을 제공하여 인간의 노력과 비슷한 수준의 정밀도로 검색 가능성과 조직을 향상시켜 이러한 격차를 해소하는 것을 목표로합니다.
현재 Python 모듈이있는 터미널 프로그램의 형태로 기능적 프로토 타입이 존재하는데, 이는 기능을 보여주고 이미 인상적인 결과를 얻었습니다. 더 넓은 응용 프로그램의 경우, 특히 테스트, 프롬프트 최적화, 오류 처리 및 문서에서 많은 상세한 개선이 필요합니다.
이 도구가 도움이되고 개선 할 아이디어가 있다면 자유롭게 기여하십시오. 나는 풀 타임 프로그래머가 아니지만 전혀 전문적인 느낌이 들지 않지만 제안이나 개선 사항을 환영합니다. 버그 보고서, 기능 요청 또는 기타 피드백을 제출하십시오. 들러 주셔서 감사합니다!
$ pip install git+https://github.com/Uli-Z/autoPDFtagger구성 파일을 작성하고 ~/.autopdftagger.conf 로 저장하십시오.
; Configuration for autoPDFtagger
[DEFAULT]
language = {YOUR LANGUAGE}
[OPENAI-API]
API-Key = {INSERT YOUR API-KEY}이 프로그램은 기본적으로 다음과 같이 구성됩니다.
file analysis )text analysis )image analysis )tag analysis )참고 : 원칙적으로 (거의) 모든 옵션이 결합 가능합니다. 그러나 개별 단계의 순서는 고정되어 있습니다. 위에서 언급 한 순서로 처리됩니다. 대신, 터미널에서의 배관 사용은 명시 적으로 고려되며, 데이터베이스 상태를 다른 인스턴스로 전달할 수 있습니다. 이로 인해 각 단계 (예 : 첫 번째 텍스트 분석, 품질 별 필터링, 이미지 분석, 다시 필터링 및 PDF 파일을 내보내는 것이 좋습니다). JSON 출력을 사용하면 프로그램 결과를 프로그램의 다른 인스턴스로 직접 배관 할 수 있습니다.
$ 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 analyses폴더 PDF_ARCHIVE 에서 모든 PDF 파일을 읽고 기본 파일 분석 (-f)을 수행하고 JSON-DATABASE FILE.JSON (-J [FILENAME])에 정보를 저장하십시오.
$ autoPDFtagger ./pdf_archive --file-analysis --json allfiles.json이전에 만든 JSON-DATABASE AN AI-TEXT 분석을 읽고 결과를 새로운 JSON-FILE에 저장하십시오.
$ autoPDFtagger allfiles.json --ai-text-analysis --json textanalysis.json품질이 낮은 메타 데이터가 추정되는 모든 파일에 대해 AI-IMAGE 분석을 수행하십시오.
$ autoPDFtagger textanalysis.json --keep-below --ai-image-analysis --json imageanalysis.json모두 함께 기억하고 태그를 분석하고 구성하십시오
$ autoPDFtagger textanalysis.json imageanalysis.json --ai-tag-analysis --json final.json파일을 새 폴더로 복사하여 새로운 메타 데이터를 설정 하고 새 파일 이름을 할당하십시오. 원래 폴더 구조는 변경되지 않았습니다.
$ autoPDFtagger final.json -e ./new_archive한 번에 모든 것을하십시오 :
$ autoPDFtagger pdf_archive -ftic -e new_archivemain.py : 응용 프로그램의 터미널 인터페이스.autoPDFtagger.py : 공구의 핵심 기능을 관리합니다.AIAgents.py : OpenAI API 통신을 포함한 AI 에이전트 관리를위한 기본 클래스.AIAgents_OPENAI_pdf.py : 텍스트, 이미지 및 태그 분석 전용 특정 AI 에이전트.PDFDocument.py : 메타 데이터 읽기 및 쓰기 관리 개별 PDF 문서를 처리합니다.PDFList.py : PDF 문서의 데이터베이스, 메타 데이터를 감독하고 내보내기 기능을 제공합니다.config.py : 구성 파일을 관리합니다.autoPDFtagger_example_config.conf : 예제 구성 파일 API 키 설정 및 기타 설정을 간략히 설명합니다. GPL-3