SOFTWARE
DocExtr 변경 이력
배포 버전별로 사용 방법과 결과에 영향을 주는 변경을 정리합니다. 내부 시험·빌드 도구와 문서 정정은 싣지 않습니다.
0.1.1 2026-10-11
문서 추출 결과를 AI 에이전트·임베딩·검색·텍스트 네 가지 용도별로 받는 버전입니다. 0.1.0과 출력 형식·일부 명령·Python API가 호환되지 않습니다.
추가
- 이미지 OCR — 문서에 포함된 이미지와 독립 이미지 파일의 글자 인식.
--ocr true --ocr-models DIR로 켜며 기본값은false. CLI와 Python wheel에 OCR 엔진 포함 - OCR 대상 선택 — 본문이 빈 쪽·슬라이드 또는 지정한 단위 번호.
--ocr-pdf-render true로 선택한 PDF 쪽 전체를 렌더해 인식 - 노트 이미지의 OCR 결과는 노트에 보존해 본문과 분리하고, 내보낸 이미지 옆에 인식한 글자를
.txt로 저장 - agent 결과의 단위별 본문
body_text·body_markdown과 노트 구분. 파싱한 PDF 쪽과 PPTX 슬라이드는 본문이 비어 있어도 구조를 반환하고 PPTX 디자인 보존
변경
--targets로 필요한 결과만 선택(기본값은 네 목적 전부) —agent는 반복 목차·머리글을 정리한 Markdown과 문서 구조·이미지,text는 원문에 충실한 평문과 Markdown,embedding은 추정 토큰 수 기준 청크,search는 문자 수 기준 검색 문서. 임베딩과 검색 청크의 크기·겹침은 각각 설정extract와batch의 출력 대상 — 문서별 디렉터리, JSONL 샤드, DB 중 선택.batch --layout document는 입력 폴더 구조대로 문서마다 파일을 만들고, 압축 파일 내용은 압축 파일 이름에.vfs/를 붙인 디렉터리 아래에 저장- 파일 출력은 문서 상태를 담은 manifest와 요청한 목적별 파일로 구성. DB 출력은 문서 테이블과 임베딩·검색 청크 테이블로 나누어 적재
- Python 추출 함수와
Engine이 목적별 결과를 반환하고,export_file로 같은 파일 구성을 내보냄
호환되지 않는 변경
- CLI
run을batch로 변경. 이전 이름의 별칭은 제공하지 않음 document.json·chunks.jsonl과 11필드 JSONL·CSV 출력을 manifest와 목적별 산출물로 대체.--chunks·--chunk-*·--format·--profile·--no-markdown제거 — 청크는--targets embedding또는search와 해당 목적의 크기·겹침 옵션으로 받음- 0.1.0의 DB 단일 테이블은 자동 변환하지 않음. 새 테이블 이름으로 다시 적재 필요
- Python의 Document dict 반환과
extract_chunks를 목적별 결과 dict로 대체. 임베딩 청크는targets=["embedding"]결과의embedding.chunks에서 받음 - OCR 옵션은
true·false만 허용.off·auto·force와--ocr-max-pages제거. PDF 쪽 전체 인식은--ocr true --ocr-pdf-render true batch의--cache-bytes·--cache-entries를--cache-dir·--max-cache-bytes로 대체.--no-cache로 캐시 끔extract는 추출 실패·부분 추출 시 manifest를 남기고 종료 코드 3 반환
배포 파일
- CLI — Linux x86_64·Windows x64, OCR·DB 출력 포함
- Python wheel — Linux x86_64(
manylinux_2_28), CPython 3.9~3.14. OCR 엔진 포함, DB 출력과 작업 상태 저장은 포함하지 않음 - OCR 모델(PaddleOCR-VL 1.6 Q8) — CLI·wheel에 포함하지 않으며 별도 설치
- 라이선스 — CLI와 Python wheel은 MIT. 제3자 고지와 MPL-2.0 구성 요소 원본 소스(
docextr-0.1.1-third-party-sources.zip)를 함께 제공
알려진 제한
- 7z·RAR, HWP 4.x, 암호화 문서는 지원하지 않음
batch의 메모리 예산은 파서·OCR·DB 드라이버를 포함한 전체 메모리 사용량을 강제로 제한하지 않음- macOS 실행 파일은 제공하지 않음. Windows 실행 파일은 실제 Windows에서 검증하지 않았고 Wine에서 텍스트 추출만 확인(OCR·DB 출력 미확인)
0.1.0 2026-10-01
첫 공개 버전입니다.
추가
- CLI
docextr run— 파일·디렉터리와 그 안의 압축 파일을 일괄 처리해 JSONL·CSV 파일이나 DB 테이블에 기록. 파일별 오류는 해당 레코드에 남기고 나머지를 계속 처리 - CLI
docextr extract— 문서 하나를 새 디렉터리에document.json·document.md·assets/로 내보냄.--chunks를 주면 RAG 청크chunks.jsonl도 기록 - 지원 형식 — HWP/HWPX, 텍스트 PDF, DOC/DOCX, PPTX, XLS/XLSX/XLSB/ODS, TXT·Markdown·HTML과 소스·설정 파일
- 압축 파일 — ZIP(암호화 ZIP은
--archive-password-file), TAR, TAR.GZ, TAR.BZ2를 재귀 처리. 중첩 깊이·해제 크기 한도 적용 - 스캔 PDF OCR —
--ocr auto·force와 별도 모델 디렉터리를 지정하면 실행. 기본값은off - 출력 레코드 11개 필드(
source_path·plain_text·markdown·blake3·file_type·file_size·error·title·author·created·word_count)를 JSONL·CSV·DB 출력이 공유 - DB 출력
--output-db— SQLite, PostgreSQL, MySQL, MariaDB에append·upsert·replace모드로 적재 run부가 옵션 — 구조화 출력--profile structured, 결과 캐시--cache-bytes, 작업 상태 저장과 재개--state·--resume, 실패 허용 수--max-failures- Python 패키지
docextr(CPython 3.9~3.14) —extract_file·extract_bytes·extract_files·export_file·extract_chunks와 캐시를 쓰는Engine클래스
배포 파일
- CLI — Linux x86_64·Windows x64, OCR·DB 출력 포함. Windows 실행 파일은 Wine에서만 실행 검증
- Python wheel — Linux x86_64(
manylinux_2_28), CPython 3.9~3.14. OCR·DB 출력은 포함하지 않음 - 라이선스 — CLI와 Python wheel은 MIT. 제3자 고지와 MPL-2.0 구성 요소 원본 소스(
docextr-0.1.0-third-party-sources.zip)를 함께 제공
알려진 제한
- 7z·RAR, HWP 4.x, 암호화 문서는 지원하지 않음
run의 메모리 예산은 파서·OCR·DB 드라이버를 포함한 전체 메모리 사용량을 강제로 제한하지 않음- macOS 실행 파일은 제공하지 않으며, Windows 실행 파일은 실제 Windows에서 실행을 검증하지 않음