Skip to content

Chuseok22/pdf-extractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDF to Excel Extractor - Simple Version

PDF 파일에서 데이터를 추출하여 Excel 파일로 저장하는 간단한 GUI 애플리케이션입니다.

주요 기능

🖥️ 간소화된 사용자 인터페이스

  • Tkinter 기반 GUI: Python 기본 라이브러리로 안정적이고 가벼운 인터페이스
  • 핵심 기능 집중: 복잡한 기능 제거로 사용성 향상
  • 크로스 플랫폼 지원: Windows, macOS, Linux에서 동일한 사용자 경험

📊 안정적인 PDF 추출

  • pdfplumber 기반: 가장 안정적인 추출 방법 사용
  • 자동 테이블 감지: 최소 2행 2열의 테이블 자동 감지
  • Excel 형식 출력: 추출된 데이터를 Excel 파일로 저장

📁 간편한 파일 처리

  • 다중 파일 지원: 여러 PDF 파일 동시 처리
  • 실시간 진행률: 처리 진행 상황 실시간 표시
  • 상세 로그: 처리 과정 상세 기록
  • 드래그 앤 드롭: 파일을 GUI로 직접 끌어다 놓기
  • 중복 파일 방지: 동일한 파일 자동 필터링

📈 고급 진행률 표시

  • 이중 진행률 바: 전체 파일 진행률 + 개별 파일 진행률
  • 실시간 상태 업데이트: 현재 처리 중인 파일명 및 페이지 정보
  • 처리 시간 추적: 경과 시간, 처리 속도, 예상 완료 시간 (ETA)
  • 시스템 성능 모니터링: CPU/메모리 사용률 실시간 표시 (색상 코딩)
  • 상세 로그: 타임스탬프와 이모지가 포함된 실시간 로그
  • 자동 스크롤: 로그 자동 스크롤 및 클리어 기능

지원되는 PDF 형식

  • 일반 텍스트 PDF (Word→PDF, PPT→PDF 등)
  • 테이블 포함 PDF
  • 이미지 기반 PDF (OCR 사용)
  • 스캔된 문서 PDF
  • 휴대폰으로 촬영한 표 이미지 PDF

설치 및 실행

개발 환경 설정

  1. Python 가상환경 생성
python3 -m venv .venv
source .venv/bin/activate  # macOS/Linux
# 또는
.venv\Scripts\activate     # Windows
  1. 의존성 설치
pip install -r requirements.txt
  1. 시스템 의존성 설치

macOS:

brew install tesseract

Windows:

  1. 애플리케이션 실행
python main.py

빌드된 실행 파일 사용

GitHub Releases에서 플랫폼에 맞는 실행 파일을 다운로드하세요.

Windows:

  1. pdf-extractor.exe 다운로드
  2. 더블클릭하여 실행

macOS:

  1. pdf-extractor 다운로드
  2. 실행 권한 부여: chmod +x pdf-extractor
  3. 실행: ./pdf-extractor

사용법

1. 기본 사용법

  1. PDF 파일 선택

    • 🗂️ 단일 파일: "PDF 파일 선택" 버튼으로 개별 파일 선택
    • 📁 일괄 처리: "폴더 선택" 버튼으로 폴더 전체 PDF 파일 처리
    • 🖱️ 드래그 앤 드롭: PDF 파일을 GUI의 드롭 영역으로 끌어다 놓기
  2. 출력 폴더 설정

    • 📂 Excel 파일이 저장될 폴더 선택
    • 💾 최근 사용한 폴더는 자동으로 기억됨
  3. 추출 설정 커스터마이징 (선택사항)

    • 🔧 추출 방법: 자동 선택 모드 권장 (최적 성능)
    • 👁️ OCR 설정: 이미지 PDF 처리를 위한 OCR 엔진 선택
    • 📊 테이블 감지: 최소 행/열 수 설정으로 품질 조절
    • 성능 최적화: 대용량 PDF 처리를 위한 페이지 제한 설정
  4. 추출 시작 및 모니터링

    • ▶️ "추출 시작" 버튼으로 작업 실행
    • 📈 실시간 진행률 및 성능 모니터링
    • 📝 상세 로그를 통한 처리 과정 확인
    • 🎉 완료 후 결과 폴더 바로 열기

2. 고급 기능

  • 🌙 다크 모드: 우상단 토글 버튼으로 테마 변경
  • 📊 성능 모니터링: CPU/메모리 사용률 실시간 확인 (색상 코딩)
  • ❓ 도움말: 좌상단 도움말 버튼으로 상세 가이드 확인
  • 🖱️ 드래그 앤 드롭: 파일을 직접 끌어다 놓아 간편하게 추가
  • ⏱️ 예상 완료 시간: 현재 처리 속도 기반 ETA 표시
  • 💾 설정 자동 저장: 종료 시 모든 설정 자동 저장
    • 테이블 감지 최소 조건 설정
    • 출력 형식 옵션 설정
  1. 추출 시작
    • 진행률을 실시간으로 확인
    • 완료 후 결과 확인

출력 형식

  • Excel 파일 (.xlsx)
  • 페이지별 시트 분리 옵션
  • 테이블 데이터와 텍스트 데이터 분리
  • 추출 방법별 메타데이터 포함

개발

프로젝트 구조

pdf-extractor/
├── main.py              # GUI 메인 애플리케이션
├── pdf_extractor.py     # PDF 추출 핵심 로직
├── build.py             # 실행 파일 빌드 스크립트
├── requirements.txt     # Python 의존성
├── README.md           # 프로젝트 문서
└── .github/
    └── workflows/
        └── build.yml    # CI/CD 워크플로우

실행 파일 빌드

python build.py

빌드된 파일은 dist/ 폴더에 생성됩니다.

시스템 요구사항

  • Python: 3.8 이상
  • 메모리: 최소 2GB RAM
  • 저장공간: 100MB 이상

운영체제별 요구사항

Windows:

  • Windows 10/11 (64-bit)

macOS:

  • macOS 10.14 이상
  • Intel 또는 Apple Silicon 지원

라이선스

MIT License

기여

이슈나 개선사항이 있으시면 GitHub Issues를 통해 알려주세요.

버전 히스토리

  • v0.0.1: 초기 릴리즈
    • 기본 PDF to Excel 변환 기능
    • PyQt5 GUI 인터페이스
    • 다중 플랫폼 지원
    • OCR 기능 지원

문제 해결

자주 묻는 질문

Q: 드래그 앤 드롭이 작동하지 않아요

  • A: PDF 파일만 드롭할 수 있습니다. 파일 확장자를 확인해주세요.

Q: 성능 모니터링에서 빨간색 경고가 계속 나와요

  • A: CPU 80% 이상, 메모리 85% 이상 사용 시 경고가 표시됩니다. 다른 프로그램을 종료하거나 배치 크기를 줄여보세요.

Q: 다크 모드가 저장되지 않아요

  • A: 애플리케이션을 정상적으로 종료하면 설정이 자동 저장됩니다.

Q: 도움말 창이 열리지 않아요

  • A: ❓ 도움말 버튼을 클릭하거나, GUI 상단 좌측의 도움말 버튼을 이용하세요.

성능 최적화 팁

  • 🔋 대용량 파일: 최대 페이지 수를 제한하세요 (500 페이지 권장)
  • 💾 메모리 절약: 배치 크기를 줄이면 메모리 사용량이 감소합니다
  • 속도 향상: SSD 저장장치 사용 시 더 빠른 처리 가능

최신 업데이트 (v0.0.1+)

🆕 새로 추가된 기능:

  • 🖱️ 드래그 앤 드롭: PDF 파일을 GUI로 직접 끌어다 놓기
  • ❓ 통합 도움말 시스템: 상세한 사용법과 문제 해결 가이드
  • 🎨 개선된 다크 모드: 버튼 텍스트 및 아이콘 업데이트 (🌙/☀️)
  • 📊 색상 코딩: CPU/메모리 사용률에 따른 색상 표시
  • 🎉 완료 다이얼로그: 결과 폴더 바로 열기 기능
  • ⏱️ ETA 표시: 처리 속도 기반 예상 완료 시간

🔧 개선사항:

  • 중복 파일 자동 필터링
  • 설정 자동 저장/복원 강화
  • 로그 시스템 이모지 및 타임스탬프 추가
  • 진행률 표시 정확도 향상

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors