엑셀(.xlsx, .xlsm)과 텍스트 검색이 가능한 PDF에서 특정 키워드를 검사하고,
사용자 승인 후 해당 키워드를 삭제한 수정본을 생성하는 로컬 프로그램입니다.
문서는 외부 서버·클라우드로 전송되지 않으며 모든 처리는 사용자의 컴퓨터에서 이루어집니다.
Windows / macOS / Linux에서 동작합니다.
- 엑셀 전체 워크시트 셀 검사, PDF 전체 페이지 텍스트 검사
- 검색 모드: 포함 / 정확히 일치 / 영문 대소문자 구분
- 여러 키워드 입력(한 줄에 하나)
- 검사 → 미리보기 → 사용자 승인 → 편집 → 재검증의 안전한 흐름
- Excel 삭제 방식: 키워드만 제거 / 셀 전체 비우기 / 행 전체 삭제
- PDF 삭제: PyMuPDF redaction으로 실제 콘텐츠 제거
- 폴더 배치 처리: 폴더를 재귀 스캔해 여러 파일을 한 번에 검사·삭제, 진행률 표시
- 저장 방식 선택: 별도 출력 폴더(+zip) 또는 원본 백업 후 제자리 교체
.xls, 암호화된 Excel·PDF, 스캔 이미지 전용 PDF, OCR, PDF 문단 재배치,
복잡한 매크로 수정, 외부 데이터 연결·피벗 테이블의 완전 보존, 다중 사용자 서버 서비스.
미지원 파일은 임의 처리 없이 안내 메시지로 거부합니다.
run.bat 을 더블클릭하세요. 처음 실행 시 자동으로 가상환경을 만들고 필요한 패키지를
설치한 뒤 브라우저에서 앱을 엽니다.
사전 준비: Python 3.11 이상 설치 (설치 시 "Add Python to PATH" 를 체크하세요).
./run.sh# 1) 가상환경 생성
python -m venv .venv
# 2) 활성화
# Windows: .venv\Scripts\activate
# macOS/Linux: source .venv/bin/activate
# 3) 설치 (둘 중 하나)
pip install -e . # 개발/일반 실행
pip install -r requirements.txt # requirements 기반 설치
# 4) 실행
streamlit run app.py실행하면 브라우저에서 http://localhost:8501 이 열립니다.
- 왼쪽 사이드바에 키워드(한 줄에 하나)와 검색 조건을 입력합니다.
- 📄 단일 파일 탭에서 파일을 업로드하거나, 📁 폴더 탭에서 폴더 경로를 입력합니다.
- 검사하기 — 파일을 수정하지 않고 어디에 무엇이 있는지 미리 봅니다.
- Excel이면 삭제 방식을, 폴더면 저장 방식을 선택합니다.
- 승인 체크 후 삭제를 실행하면, 결과를 재검증하고 수정본/로그를 제공합니다.
pip install -e ".[dev]"
pytest흰색 사각형으로 덮는 방식은 텍스트가 그대로 남아 복사·추출됩니다. 이 도구는 PyMuPDF의 redaction으로 실제 콘텐츠를 제거합니다. redaction 후 해당 위치에 빈 공간이 남을 수 있습니다.
- 기본 방식에서는 원본을 덮어쓰지 않고
_edited/_redacted접미사가 붙은 새 파일로 저장합니다. - "제자리 교체"를 선택하면 원본을 교체하되, 교체 전 반드시 백업을 만들고 재검증을 통과한 파일만 교체합니다(실패 파일의 원본은 유지).
- 모든 처리는 로컬에서 수행되며 문서를 외부로 전송하지 않습니다.
- 편집 후 항상 재검증하여 키워드 잔존 여부를 확인합니다.
- 스캔 PDF·이미지 텍스트는 검색되지 않습니다(OCR 미지원). 이 경우 UI가 가능한 원인을 안내합니다.
.xlsm의 복잡한 매크로·외부 연결·피벗 테이블 완전 보존은 보장하지 않습니다(keep_vba=True로 최대한 보존).- Excel 수식 셀의 수식 문자열은 기본적으로 검사 대상에서 제외됩니다.
- PDF 검색은 영문 대소문자를 구분하지 않으며, '정확히 일치'는 단어 경계를 보장하지 않습니다.