DocPicker 소개

많은 PDF 중 필요한 파일만 찾고 압축해야 하는 반복 업무를 줄이기 위해 만든 브라우저 기반 도구입니다.

만든 이유

업무에서는 거래처, 주문, 계약, 제품 번호별로 PDF 문서를 찾아 보내야 하는 일이 자주 생깁니다. 파일 수가 늘어나면 직접 검색하고 첨부하는 과정에서 시간이 오래 걸리고 누락도 생길 수 있습니다.

특히 화학 원료, 제조, 무역 등 업종에서는 COA, MSDS, 선적서류 같은 문서를 제품번호나 주문번호 기준으로 수십, 수백 건씩 찾아 보내야 하는 업무가 일상적입니다. 이 작업은 단순하지만 반복적이고, 사내 시스템에 자동화 기능이 없는 경우가 많습니다.

DocPicker는 이런 반복 작업을 줄이기 위해 파일명 기준 검색과 ZIP 다운로드 흐름을 단순하게 제공합니다. 복잡한 설치나 사내 시스템 연동 없이 브라우저만으로 사용할 수 있어, IT 인프라가 충분하지 않은 중소기업이나 소규모 팀에서도 활용할 수 있습니다.

해결하는 문제

DocPicker가 해결하려는 핵심 문제는 "목록에 있는 파일을 하나씩 찾는 반복 작업"입니다.

  • 하나씩 검색하는 비효율 - 제품번호 20개를 폴더에서 하나씩 검색하면 제품당 2~3분, 총 40~60분이 걸립니다. 목록 기반 일괄 검색으로 5분 이내에 처리할 수 있습니다.
  • 첨부 누락 위험 - 수동으로 파일을 찾다 보면 빠뜨리는 경우가 생깁니다. 목록 기반 검색은 "못 찾음" 상태를 명확히 표시하므로 누락을 사전에 확인할 수 있습니다.
  • 파일 모으기의 번거로움 - 여러 파일을 하나의 ZIP으로 묶어 보내야 할 때, 파일을 임시 폴더에 복사하고 압축하는 과정이 필요합니다. DocPicker는 찾은 파일만 바로 ZIP으로 다운로드합니다.

제공하는 기능

  • 목록 입력 - 찾을 파일명, 제품번호, 문서번호를 직접 입력하거나 TXT/CSV 파일로 업로드
  • PDF 선택 - PDF 파일 여러 개 선택 또는 폴더 전체 선택
  • 파일명 매칭 - 입력 목록과 PDF 파일명을 비교하여 포함 여부 확인
  • 상태 표시 - 찾음, 못 찾음, 비슷한 파일 여러 개 상태를 표로 표시
  • ZIP 다운로드 - 찾은 PDF만 ZIP 파일로 묶어 다운로드 (결과 요약 파일 포함)
  • 다크모드 - 밝은 모드와 어두운 모드 전환 지원
  • 다국어 - 한국어와 영어 전환 지원

기술 구현 방식

DocPicker는 의도적으로 서버 없이 브라우저만으로 동작하도록 설계했습니다. 이 선택에는 몇 가지 이유가 있습니다.

브라우저 기반 처리를 선택한 이유

  • 보안 - 업무용 PDF에는 계약 금액, 거래 조건, 제품 성분 정보 등 외부로 유출되면 안 되는 내용이 포함될 수 있습니다. 서버로 파일을 업로드하지 않으면 이런 위험을 원천적으로 차단할 수 있습니다.
  • 속도 - 네트워크를 통한 파일 전송 없이 로컬에서 바로 처리하므로, 파일 수가 많아도 검색 속도가 빠릅니다.
  • 접근성 - 서버 운영 비용이 없으므로 무료로 제공할 수 있고, 별도의 회원가입이나 설치 없이 바로 사용할 수 있습니다.

사용된 기술

  • HTML, CSS, JavaScript - 프레임워크 없이 순수 웹 기술로 구현
  • File API - 브라우저의 File API를 사용해 사용자가 선택한 파일의 메타데이터(파일명)를 읽음
  • JSZip - 브라우저 내에서 ZIP 파일을 생성하는 오픈소스 라이브러리
  • localStorage - 다크모드와 언어 설정을 브라우저에 저장

한계와 트레이드오프

브라우저 기반 처리 방식에는 한계도 있습니다.

  • PDF 본문 내용을 읽으려면 서버 측 OCR이나 PDF 파서가 필요하지만, 현재는 파일명 기준으로만 검색합니다.
  • 브라우저 메모리 한도(탭당 약 4GB)가 있어, 매우 큰 파일 세트에서는 ZIP 생성이 제한될 수 있습니다.
  • 폴더 선택 기능(webkitdirectory)은 모든 브라우저에서 지원되지 않습니다.

향후 개선 계획

DocPicker는 사용자 피드백을 반영하여 지속적으로 개선하고 있습니다. 현재 고려 중인 기능은 다음과 같습니다.

  • 엑셀(.xlsx) 파일 직접 업로드 지원
  • 검색 결과를 엑셀이나 CSV로 내보내기
  • 정규식 기반 고급 검색 옵션
  • 최근 검색 목록 저장 (브라우저 로컬)
  • PWA(Progressive Web App) 지원으로 오프라인 사용 강화

기능 제안이나 개선 의견은 GitHub 이슈를 통해 남겨주시면 검토하겠습니다.

문의

기능 제안, 오류 제보, 광고 또는 정책 관련 문의는 GitHub 저장소의 이슈 기능을 통해 남길 수 있습니다.

GitHub: https://github.com/jjyun667/DocPicker

관련 페이지