# 급여명세서 분할기 수정 가이드 ## 📁 파일 구조 ``` 월급명세서_자동배포/ ├── 급여명세서분할기_v3_최종수정.exe # 실행 파일 ├── email_config.json # 이메일 설정 ├── employees.json # 직원 목록 ├── payslip_splitter_gui_v3.py # 메인 소스코드 ├── src/ # 핵심 모듈들 │ ├── email_sender.py # 이메일 발송 로직 │ ├── employee_manager.py # 직원 관리 │ └── pdf_preview.py # PDF 처리 ├── samples/ # 샘플 PDF 파일들 ├── backup/ # 백업 파일들 ├── build.bat # 빌드 스크립트 ├── requirements.txt # Python 패키지 목록 └── 수정가이드.md # 이 파일 ``` ## ⚙️ 주요 설정 수정 방법 ### 1. 이메일 제목/내용 수정 **파일**: `email_config.json` ```json { "email_template": { "subject": "{month} 월급명세서 전달드립니다.", "body": "여기에 이메일 내용 작성..." } } ``` - `{month}`: 자동으로 다음달로 치환 (예: 8월 → 09월) - 제목과 내용을 자유롭게 수정 가능 ### 2. SMTP 서버 설정 **파일**: `email_config.json` ```json { "smtp_server": "smtp.worksmobile.com", "smtp_port": 465, "use_ssl": true, "sender_email": "noreply@munjaon.co.kr", "sender_name": "급여관리팀" } ``` ### 3. 직원 목록 초기 설정 **파일**: `employees.json` ```json [ { "name": "홍길동", "email": "hong@company.com", "birth_date": "19900115" } ] ``` - 새 직원 추가 또는 기존 직원 정보 수정 - `birth_date`: PDF 비밀번호로 사용됨 (YYYYMMDD 형식) ## 🛠️ 고급 수정 (개발자용) ### GUI 텍스트 수정 **파일**: `payslip_splitter_gui_v3.py` - 버튼 텍스트, 라벨, 메시지 등 UI 요소 수정 ### 이메일 발송 로직 수정 **파일**: `src/email_sender.py` - 날짜 추출 로직 - 첨부파일 처리 - SMTP 연결 설정 ### PDF 처리 로직 수정 **파일**: `src/employee_manager.py`, `src/pdf_preview.py` - PDF 분할 로직 - 직원명 추출 패턴 - 파일명 생성 규칙 ## 📦 개발 환경 설정 (소스코드 수정시) ### Python 패키지 설치 ```bash pip install -r requirements.txt ``` **requirements.txt에 포함된 패키지들:** - `pymupdf` - PDF 처리 (PyMuPDF/fitz) - `pytesseract` - OCR 텍스트 인식 - `Pillow` - 이미지 처리 - `pyinstaller` - exe 파일 생성 - `tkinterdnd2` - GUI 드래그앤드롭 - `pandas` - 데이터 처리 - `openpyxl` - Excel 파일 처리 - `pyperclip` - 클립보드 기능 **참고**: exe 파일만 사용한다면 이 패키지들 설치 불필요 ## 🔄 빌드 방법 ### 자동 빌드 (권장) ```batch build.bat ``` ### 수동 빌드 ```batch pyinstaller --onefile --windowed --name "급여명세서분할기_v3_최종수정" --clean --exclude-module torch --exclude-module tensorflow --exclude-module sklearn --exclude-module scipy --exclude-module pandas payslip_splitter_gui_v3.py ``` ## ⚠️ 주의사항 1. **이메일 설정**: `email_config.json` 수정 후 프로그램 재시작 필요 2. **직원 목록**: GUI에서도 수정 가능하지만, 대량 추가시 JSON 파일 직접 수정 권장 3. **백업**: 중요한 수정 전 `backup/` 폴더 활용 4. **테스트**: 수정 후 반드시 테스트 발송으로 확인 ## 📞 문제 해결 - **PDF 첨부 안됨**: 파일 경로에 한글 있는지 확인 - **이메일 발송 실패**: SMTP 설정 및 인증 정보 확인 - **현재달 표시됨**: PDF 암호화로 인한 정상 동작 (다음달로 자동 변환됨) - **발송 완료 상태 이상**: 프로그램 재시작 후 다시 시도