kordoc

io.github.chrisryugj由 GitHub 账号 chrisryugj 发布v4.24.53更新于 Nov 7, 2026

Parse Korean documents (HWP, HWPX, PDF, XLSX, DOCX, PPTX) to Markdown; fill forms, diff, render.

概览

AI 生成的概览

将韩文办公文档(HWP、HWPX、PDF、XLSX、DOCX、PPTX、图片)解析为 Markdown 和结构化数据,并可比较、填写、生成与渲染文档。

可以做什么
  • 读取文档为 Markdown、结构化块、按页正文或 RAG 分块,支持本地 OCR 与图片中的二维码识别
  • 按块和单元格比较文档,并在保留格式的前提下修补 HWPX/HWP 内容
  • 用公文预设、模板、表格、公式和图表将 Markdown 写成新的 HWPX
  • 将 HWP 转换为 HWPX,并把 PDF、DOCX 等格式转为 HWPX
  • 填写表单字段和标准拟稿模板,包括盖章
  • 检查文档的用词、公共语言规范、预算计算和块级审校;预览并遮蔽个人信息
适用场景
适合需要处理主流工具无法读取的韩国公文或办公文档(如 HWP/HWPX)的场景,也适合批量转换、表单填写、文档比较或用韩国公文格式起草文件。
运行要求
以本地进程运行,通过 npx 或 npm install 安装;需要 Node.js 20 或更高版本,支持 macOS、Linux、Windows。未声明账号、API 密钥或环境变量;OCR 在本地运行且无需密钥。离线模式使用 KORDOC_OFFLINE,访问范围使用 KORDOC_ROOT。
安装前请注意
它会读写本机文件,包括就地转换和修补文档,请指向正确的目录并保留备份。生成或修改的文档在正式使用前应人工复核。可选依赖可被省略,但会限制 PDF、OCR 和图片相关功能。

安装

在 SourceWeft 中

  1. 打开 控制台中的 kordoc,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

kordoc

모두 파싱해버리겠다.

[npm version] [license] [MCP Registry]

대한민국에서 둘째가라면 서러울 문서지옥. 거기서 7년 버틴 공무원이 만들었습니다.

HWP 3.x·5.x, HWPX, HWPML, PDF, XLS·XLSX, DOCX, PPTX, PNG·JPG·WebP를 Markdown과 구조화 데이터로 변환합니다. 라이브러리·CLI·MCP 서버로 사용할 수 있습니다.

English · 상세 사용법 · 벤치마크 · 변경 이력

[같은 법령 별표를 HWP·HWPX·PDF·스캔 이미지로 넣은 kordoc 실제 출력]

같은 법령 별표 한 건을 HWP·HWPX·PDF·스캔 이미지로 넣은 실제 출력입니다. 네 경우 모두 병합 칸(rowspan·colspan)을 같은 짜임의 표로 읽습니다. 스캔 이미지는 OCR이 자동으로 켜집니다.

  • 📊 PDF 공개 벤치 종합 0.965: opendataloader-bench 200문서, 공개 리더보드(2026-09-29 기록) 12개 파서보다 높은 점수(4.24.50 측정). 측정 조건
  • 🇰🇷 한국 공문서 표 구조 100%: 원본 HWPX 2,424문서의 보이는 표 10,342개 전부 구조 일치. 검증 결과

쓸모 있었다면 GitHub ⭐ 하나 눌러주세요. 다른 사람이 이 도구를 찾는 데 도움이 됩니다.

영상: 공개 벤치 측정 과정(2026-09-27 판, 1분 31초) · 양식 일괄 채우기 시연

설치

Node.js 20 이상 · macOS / Linux / Windows

bash
npm install kordoc

CLI는 설치 없이 npx kordoc으로 실행할 수 있습니다. PDF·OCR·그림 형식 변환·QR 읽기 의존성은 기본 설치되며, --omit=optional로 제외하면 해당 기능이 제한됩니다.

AI 에이전트에 연결

bash
npx -y kordoc setup

Claude Desktop·Claude Code·Cursor·Codex 등 설치된 클라이언트에 MCP를 등록합니다. 공식 MCP 레지스트리에도 io.github.chrisryugj/kordoc으로 등재돼 있습니다. 클라이언트를 재시작하면 파싱·비교·생성·검수·렌더 등 22개 도구를 사용할 수 있습니다.

VS Code·Cursor는 버튼 한 번으로 등록됩니다.

[VS Code에 설치] [Cursor에 설치]

Claude Code 플러그인:

text
/plugin marketplace add chrisryugj/kordoc/plugin install kordoc@kordoc

수동 MCP 등록과 설치 문제 해결

빠른 시작

CLI

bash
npx kordoc 문서.hwpx -o 문서.mdnpx kordoc *.pdf --jobs 4 -d ./결과npx kordoc 문서.pdf --format json --pages 1-3npx kordoc 스캔본.pdf --ocr -o 스캔본.mdnpx kordoc generate 보고서.md --preset 보고서 -o 보고서.hwpxnpx kordoc to-hwpx 문서.hwp -o 문서.hwpxnpx kordoc to-hwpx ./옛문서   # 폴더째(하위 폴더까지) — 각 파일 옆에 .hwpx, 이미 있으면 건너뜀npx kordoc 문서.pdf -o 문서.hwpx   # PDF·DOCX 등도 읽은 내용으로 HWPX (그림 포함)npx kordoc pack build 보고서1.hwpx 보고서2.hwpx 보고서3.hwpx --name 광양시 -o 광양시.kpack   # 기관팩 (docs/agency-pack.md)npx kordoc generate 새보고서.md --pack 광양시.kpack -o 새보고서.hwpxnpx kordoc fill --template gian -j 값.json -o 기안문.hwpxnpx kordoc lint 보고서.hwpx --gate --preset 보고서

--jobs는 파일 단위 병렬 변환이며 메모리 사용도 늘어납니다. 병렬 변환 안내

JavaScript / TypeScript

typescript
import { parse, markdownToHwpx } from "kordoc"import { writeFile } from "node:fs/promises"
const result = await parse("문서.hwpx")if (result.success) {  console.log(result.markdown)  // result.blocks: 구조화 데이터, result.metadata: 문서 정보}
const hwpx = await markdownToHwpx("# 추진계획\n\n본문", {  gongmun: { preset: "보고서" },})await writeFile("보고서.hwpx", Buffer.from(hwpx))

파싱 옵션·API·양식·렌더 예제

주요 기능

작업기능
읽기문서 → Markdown·IR·쪽별 본문·RAG 청크, 로컬 OCR(손글씨 인식 포함), 그림 속 QR 값(--qr-codes), 그림 형식 통일(--image-format png|webp)
비교·편집블록·셀 단위 비교, HWPX·HWP 서식 보존 패치, 견본 서식 그대로 새 내용 쓰기
작성Markdown → HWPX, 공문서 프리셋·부서 서식 견본(--template), 표·수식·차트
변환HWP → HWPX — HWP 5.x 는 서식 그대로(글꼴·문단 모양·표·그림·도형·수식·머리말·각주·차트, 배포용·변경 추적 문서 포함). PDF·DOCX 등은 -o 문서.hwpx 로 읽은 내용을 HWPX 로
기관팩우리 기관 문서 몇 건으로 서식 묶음(.kpack)을 만들어 그 서식대로 새 문서 — 기관팩
양식필드·누름틀 채우기, 표준 기안문 2종, 도장 날인
검수표기법·공공언어, 구성·AI 문체 게이트, 예산 산출근거 검산, 열린 문서 블록 단위 검수(lint-blocks)
보기·보안HWPX·HWP 미리보기·영역 추출, 개인정보 마스킹

서식 보존 패치용 Markdown은 --keep-layout-tables로 추출합니다. 적용하지 못한 편집은 건너뛴 사유로 보고합니다. 서식 보존 편집 · CLI 전체

검증 결과

4.22.14 · 2026-10-19 검증(렌더 배치·별표는 4.24.24 · 2026-10-30, PDF 표는 4.24.35 · 2026-11-01, OCR 은 4.24.32 · 2026-11-01, HWP → HWPX 변환은 4.24.29 · 2026-10-31, PDF 글·KoOCR-Bench·opendataloader-bench 기본값과 OCR 켬은 4.24.50 · 2026-11-07). 고정 코퍼스와 참조 기준으로 측정한 결과입니다.

대상규모결과
HWPX2,424문서 · 10,342표표 구조 일치 10,342/10,342 · 100%
HWP 5.x ↔ HWPX1,130쌍 · 4,315표짝 문서의 표 구조 일치 100%
HWP 5.x → HWPX 변환한글 저장 짝 264쌍 (속성 대조 232쌍)속성 일치 99.21% · 완전 일치 69/232 · 글 264/264 · 한글 화면 대조 80문서
PDF 글744쌍글자 재현율 99.885% · 정확도 99.682% · 읽기 순서 99.363% · 어절 F1 99.103%
PDF 표708쌍 · 2,331표표 탐지 99.83% · 구조 일치 98.24% · 칸 F1 0.9919
HWPX 재조판다중줄 25,187문단 (12개 폴더)모든 줄 시작 일치 24,941/25,187 · 99.02%
PDF 중첩표 (텍스트층)29문서 · 101표구조·칸 내용 101/101 · 100%
법령 별표272건 · 346표HWP 346/346, PDF 343/346 · 99.13%
PDF 전체1,911문서 중 1,729건 채점글 커버리지 99.80%
OCR53문서 · 102쪽 · 66표CER 0.0239 · 글자 재현율 99.32% · 표 구조 일치 34/66
KoOCR-Bench v2.0c (외부)공개 877쪽 (표·글·손글씨·순서)종합 기본값 0.894 · ocrRec: "auto" 0.895 · 표 0.902 · 손글씨 0.901 · 제목 재현율 0.930 (4.24.53)
opendataloader-benchPDF 200문서종합 기본값 0.965 · ocr: true 0.967 · OCR 끔 0.939 (4.22.14)
HWPX 렌더 배치한컴 PDF 짝 1,565문서(쪽 수 일치 1,508) · 글 조각 111,480 · 그림 4,300글 위치(±1.5pt) 106,904 · 95.9% · 그림 위치(±2pt) 4,213 · 98.0%

표 구조 점수와 셀 내용·화면 재현은 별도 지표입니다. 중첩표 100%는 위 101표에 한정하며 전체 PDF·조판의 완전 일치를 뜻하지 않습니다. 채점 범위·제외 기준·옵션별 수치·재현 방법은 벤치마크 상세에 있습니다.

최근 업데이트

최신 배포: 4.24.53 · 2026-11-08

버전주요 변경수치 변화
4.24.53PDF 수식 OCR: 긴 식이 256토큰에서 잘리던 것(최대 512)·여러 줄 식 조각 잇기 · OCR 한 행만 긋는 짧은 칸 구분선 · OCR 번호 뒤 띄어 쓴 장·절 제목수식 OCR 재현율 0.931 → 0.945(보고 전용) · KoOCR-Bench 종합 0.89408 → 0.89420 · 제목 재현율 0.924 → 0.930 · 자체 벤치 문서별 하락 0
4.24.52PDF 그림을 글 사이 제자리에 두는 imagePlacement: "flow"(옵션) · 빈 그림 빼기 dropBlankImages · 띠 그림을 쌓은 상자가 1열 표가 되던 것 · OCR 표에 갇힌 문장 줄을 문단으로 (#195)KoOCR-Bench 종합 0.8936 → 0.8941(표 .901 → .902) · 자체 벤치 문서별 하락 0
4.24.51PDF 수식 OCR 식이 통째로 마크다운 이스케이프되던 것 · HWP 각주·미주 번호(저장 번호·구역 번호 모양) · PDF 두 단에서 일찍 끝난 단 · OCR 막대 차트 판 글 · HWP 미리보기 줄간격 종류수식 OCR 재현율 0.925 → 0.931(보고 전용) · 자체 벤치 문서별 하락 0
4.24.50OCR: 두 열에 붙은 열 머리 · 세로로 쓴 이름표("저/위") 쌓인 행 · 두 단 지면 읽기 순서(우단을 먼저 읽던 것)KoOCR-Bench 종합 0.8928 → 0.8936(auto 0.8940 → 0.8948) · 순서 .907 → .912 · 통계표 .908 → .910 · 자체 벤치 문서별 하락 0
4.24.49CLI -o 문서.hwpx 가 한글에서 열리는 HWPX 를 쓰게(종전엔 마크다운 글) · 그림 형식 imageFormat(PNG·무손실 WebP) · OCR: 두 행 걸친 머리 칸("2023") · 쪽 검출이 놓친 빈 괘선 칸 다시 읽기KoOCR-Bench 종합 0.8912 → 0.8928(auto 0.8924 → 0.8940) · 관보 CER .080 → .075 · 통계표 .902 → .908 · 자체 벤치 문서별 하락 0

이전 버전과 상세 내용은 변경 이력에 있습니다.

자주 묻는 질문

Q. HWP·HWPX 파일을 Markdown으로 바꾸려면? npx kordoc 문서.hwp -o 문서.md 한 줄입니다. 한컴오피스 없이 파일을 직접 읽으며, 여러 파일은 npx kordoc *.hwpx -d ./output으로 한 번에 바꿉니다.

Q. Claude·Cursor 같은 AI가 한글 문서를 읽게 하려면? npx -y kordoc setup으로 MCP를 등록하면 AI가 파일 경로만 받아 HWP·PDF·엑셀을 읽고, 비교하고, 양식을 채웁니다.

Q. 인터넷이 막힌 폐쇄망에서도 되나요? 됩니다. KORDOC_OFFLINE=1이 외부 통신을 모두 막고, OCR도 API 키 없이 로컬 CPU에서 돕니다. 폐쇄망 설치

Q. RAG 색인용으로 쓸 수 있나요? --format chunks가 제목 경로를 붙인 구조 청크와 독립 표 청크를 냅니다. 표를 HTML 없이 받으려면 --table-format gfm(API는 tableFormat: "gfm")을 씁니다. Python·Java에서는 Python SDK·Java SDK로 부릅니다.

Q. OCR 줄 좌표나 다른 모델이 필요하면? --ocr --ocr-lines --format json이 줄별 상자·신뢰도를 내고, --ocr-det·--ocr-det-long-side로 검출 모델과 해상도를, --ocr-rec handwriting|auto로 손글씨 인식 모델을 고릅니다. OCR 줄·모델 선택

문서·보안

만든 사람

대한민국 지방공무원. 광진구청에서 7년간 HWP 파일과 싸우다가 이걸 만들었습니다. 5개 공공 프로젝트에서 수천 건의 실제 관공서 문서를 파싱하며 검증했습니다.

来源:README.md,提交 241f349

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

43
  1. v4.24.53最新Nov 7, 2026
  2. v4.24.52Nov 7, 2026
  3. v4.24.47Nov 6, 2026
  4. v4.24.46Nov 5, 2026
  5. v4.24.45Nov 5, 2026
  6. v4.24.44Nov 4, 2026
  7. v4.24.43Nov 4, 2026
  8. v4.24.42Nov 4, 2026
  9. v4.24.40Nov 3, 2026
  10. v4.24.36Nov 1, 2026
  11. v4.24.35Nov 1, 2026
  12. v4.24.33Nov 1, 2026
  13. v4.24.31Oct 31, 2026
  14. v4.24.29Oct 31, 2026
  15. v4.24.27Oct 31, 2026
  16. v4.24.26Oct 30, 2026
  17. v4.24.25Oct 30, 2026
  18. v4.24.23Oct 30, 2026
  19. v4.24.21Oct 29, 2026
  20. v4.24.10Oct 26, 2026
  21. v4.24.9Oct 26, 2026
  22. v4.24.7Oct 26, 2026
  23. v4.24.6Oct 25, 2026
  24. v4.24.5Oct 25, 2026
  25. v4.24.4Oct 25, 2026
  26. v4.24.3Oct 24, 2026
  27. v4.24.1Oct 21, 2026
  28. v4.22.18Oct 21, 2026
  29. v4.22.17Oct 20, 2026
  30. v4.22.15Oct 19, 2026
  31. v4.22.14Oct 19, 2026
  32. v4.22.13Oct 18, 2026
  33. v4.22.11Oct 18, 2026
  34. v4.22.10Oct 18, 2026
  35. v4.22.8Oct 18, 2026
  36. v4.22.7Oct 17, 2026
  37. v4.22.5Oct 16, 2026
  38. v4.22.4Oct 16, 2026
  39. v4.22.3Oct 16, 2026
  40. v4.22.0Oct 16, 2026
  41. v4.21.33Oct 15, 2026
  42. v4.21.32Oct 14, 2026
  43. v4.21.31Oct 13, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分