Project 02 · Document Infrastructure · v2.4 + Desktop v1.4

모두 파싱해버리겠다.
한컴오피스 없이, 순수 JS로.

HWP · HWPX · HWPML · PDF · XLSX · DOCX — 관공서에서 쏟아지는 모든 문서를 kordoc 엔진이 Markdown으로 쏟아낸다. 그 위에 Gemini 3 Flash를 얹은 Tauri 데스크톱 앱이 kordoc-ai.

6
Formats
8
MCP Tools
4
Interfaces
780
GitHub Stars
v2.4
DRM HWPX
01Six Formats · One Router

6개 포맷이,
하나의 Markdown으로 수렴한다.

매직 바이트 라우터가 파일 시그니처를 보고 엔진을 고른다. 그 뒤는 전부 같은 IR(Intermediate Representation) — 블록·표·메타데이터가 하나의 스키마로 정규화되고, 마지막에 Markdown으로 직렬화된다.

.hwp
한컴 레거시 · OLE2 CFB · 배포용 AES-128 복호화
.hwpx
한컴 2020+ · ZIP+XML · DRM 자동 추출 (v2.4)
.hwpml
XML 기반 HWP · HeadingType 감지
.pdf
pdfjs-dist · 선 기반 표 감지 · XY-Cut 순서 · OCR
.xlsx
공유 문자열 · 병합 셀 · 수식 · 다중 시트
.docx
스타일 heading · 번호매기기 · 각주 · vMerge
kordoc v2.4 core
Magic-byte Router
+ 2-Pass Table Builder
+ IR Block Pipeline
rhwp · OpenDataLoader PDF · cfb · pdfjs-dist · JSZip
# Markdown
+ IRBlock[]
+ Metadata
+ Warnings
# 학교교육과정 운영 계획 ## 1. 편성 근거 - 초·중등교육법 제23조 - 2022 개정 교육과정 총론 | 학년 | 국어 | 수학 | 영어 | |-----|-----|-----|-----| | 3학년 | 6 | 4 | 2 | | 4학년 | 5 | 4 | 3 | > HWPX 중첩 표, merged cell, 배포용 DRM, 깨진 ZIP, XLSX 수식까지 복원됩니다.
02Engine Internals

한국식 문서 지옥의
세세한 구석을 전부 풀어낸다.

한컴오피스·MS Office 의존 없이, 순수 JavaScript/TypeScript로 만들어진 파서. 현장 문서는 깨져 있고, 중첩돼 있고, 병합돼 있고, 잠겨 있다. kordoc는 그걸 전제로 쓴다.

HWP 5.x · OLE2 + Record Stream

UTF-16LE, zlib, 21종 제어 캐릭터. LIST_HEADER 파싱 셀 오프셋 2바이트 밀림까지 잡아낸다(v1.6.1). TAB 제어문자의 14바이트 확장 데이터 스킵으로 `࣐Ā` 쓰레기 문자 제거.

🔓

배포용 HWP · rhwp 포팅

관공서 "열람 제한"이 걸린 HWP를 AES-128 ECB + LCG로 복호화. MIT 라이선스의 rhwp 알고리즘을 순수 JS로 포팅. Hancom Office 불필요.

🗝

DRM HWPX · v2.4.0

공공기관 배포용 DRM HWPX는 manifest.xml에서 암호화 감지 → HWPFrame.HwpObjectGetPageText로 페이지별 추출. Windows + 한컴 오피스에서 별도 설정 없이.

2-Pass Table Builder

colSpan·rowSpan이 꼬이지 않는다. 그리드 알고리즘으로 한 번 훑고, 한 번 더 맞춘다. PDF 선 기반 감지 실패 시 텍스트 정렬 클러스터링 fallback.

🖼

선 기반 PDF 표 + OCR

OpenDataLoader 핵심 알고리즘 포팅. PDF 그래픽 명령에서 수평·수직 선을 추출, 교차점으로 그리드 구성, bbox overlap으로 텍스트→셀 매핑. 이미지 PDF는 OCR 프로바이더 주입식.

Broken ZIP · Broken CFB 복구

망가진 HWPX는 Local File Header를 직접 스캔, 망가진 HWP5는 FAT/디렉토리 파싱으로 rhwp LenientCfbReader 포팅. 현장 문서는 완벽하지 않으니까.

📝

양식 자동 채우기 (Form Filler)

라벨-값 셀 패턴, 체크박스(□→☑), 괄호 빈칸(( ) → (3)), 어노테이션까지. fillHwpx()는 HWPX XML을 직접 조작해 글꼴·크기·정렬 100% 보존한 채 빈칸만 교체.

Markdown → HWPX 역변환

AI가 쓴 답변을 다시 보고서 양식으로. heading·bold·italic·table 서식까지. 복붙 노가다에서 해방.

📊

크로스 포맷 Diff

HWP(구버전) ↔ HWPX(신버전) 크로스 포맷 비교. IR 블록 레벨에서 신구대조표를 생성, 테이블은 셀 단위 diff까지.

🛡

보안 강화

ZIP bomb · XXE / Billion Laughs · 10진수 IP SSRF · symlink · 경로 순회 · MCP 에러 정제. 500MB 파일 크기 제한. 배포용 환경 고려.

03MCP Server · 8 Tools

AI 에이전트도,
같은 8개 도구로 문서를 읽는다.

npm 라이브러리, CLI, MCP 서버 — 같은 엔진을 어떤 방식으로 호출하든 같은 Markdown. Claude · Cursor · Windsurf · Zed는 MCP로, 개발자는 `import { parse }`로.

01
parse_document
HWP / HWPX / HWPML / PDF / XLSX / DOCX → 마크다운. 메타데이터·outline·warnings까지 포함.
02
detect_format
매직 바이트로 포맷 감지. 확장자 속임수를 무시한다.
03
parse_metadata
title · author · createdAt · modifiedAt을 빠르게. 본문 파싱 전 스니핑.
04
parse_pages
특정 페이지 범위만. "1-3" 또는 [1, 5, 10]. 대형 PDF도 가볍게.
05
parse_table
N번째 테이블만. 병합 셀 · 중첩 표까지 정확히 추출.
06
compare_documents
IR 레벨 문서 비교. HWP ↔ HWPX 크로스 포맷 지원. 셀 단위 diff.
07
parse_form
양식 필드를 JSON으로. 성명·주민번호·주소 같은 라벨-값 자동 인식.
08
fill_form
양식 템플릿에 값 채우기. HWPX 원본 서식 100% 보존 모드까지.
04kordoc-ai · Desktop Companion · v1.4

다 파싱해버리겠다.
AI도 붙여버리겠다.

React 19 + Tauri 2.10 + Node.js Sidecar. 프론트는 15개 액션 UI, 미들은 JSON-RPC 라우터 + Whitelist, 백은 kordoc 로컬 파싱 + Gemini 3 Flash. 관공서 PC에 MSI 하나로.

KorDoc AI — v1.4.1
폴더째 드래그하세요
HWP · HWPX · PDF · XLSX · DOCX 자동 인식 · 클립보드 붙여넣기도 지원
HWPX
2026_예산편성지침_광진구.hwpx 1.8 MB · 24 pages · 배포용 DRM
✓ 변환 완료
PDF
구정보고_2026Q1.pdf 4.2 MB · 62 pages · 스캔 PDF (AI OCR 적용)
● AI OCR 중 · 38/62
XLSX
사업별_집행현황.xlsx 3 sheets · 1,204 rows · 병합 셀 · 수식 포함
✓ 변환 완료
DOCX
계약서_초안_v3.docx K팀장 검토 · 논리·숫자·날짜·오탈자 정합성
● 검토 중
🤖

AI 요약 4 스타일 × 3 분량

일반 · 보고 · 검토 · 조치 추출 × 간결/표준/상세. 공문서 특화 프롬프트로 요약 품질 튜닝. 오프라인 모드는 로컬 TextRank.

👁

AI OCR · Gemini Vision

스캔 PDF도 Gemini Vision이 한 장씩 읽어 마크다운으로. 원본 레이아웃·표 구조 최대 보존. 한국어·영어·숫자 혼합 안정적.

🔬

K팀장 검토

논리 구조 · 숫자 · 날짜 · 오탈자의 전체 정합성 검사. 계약서·보고서·기안문의 "팀장 검토"를 AI가.

🔌

MCP 원클릭 설치

Claude · Cursor · VS Code · Zed에 kordoc MCP 자동 등록. 설정 파일 위치 자동 감지, 기존 설정 백업, 롤백 지원.

🛡

보안 이중 검증

RPC 화이트리스트 Rust + Node.js 양단 검증. UNC 차단, 시스템 디렉토리 차단, 확장자 화이트리스트. API 키는 프론트에 AIza****로 마스킹.

🔗

문서 병합 · 서식 유지

XLSX는 네이티브 스타일 병합(폰트·색·테두리·조건부서식 완벽). DOCX는 스타일+넘버링 리매핑. PDF는 pdf-lib로 원본 그대로. HWPX는 COM 또는 마크다운 폴백.

— Battle-tested

5개 실전 공공 프로젝트 + 2개 MCP 서버에 내장

학교교육과정 · 사전기획 보고서 · 법률 별표 · 구청 소식지 · 공공데이터 파이프라인 + korean-law-mcp의 별표/서식 파서 + Anything 본문 검색 엔진. 수천 개의 진짜 관공서 문서가 부러지지 않고 지나갔다.

학교교육과정 사전기획 보고서 법률 별표 구청 소식지 korean-law-mcp Anything