Outil CLI
chrisryugj/kordoc avatar
chrisryugj/kordoc

kordoc : convertir les documents gouvernementaux coréens en Markdown

Ce projet transforme « , HWP HWPX PDF Office Markdown . CLI MCP | Convert Korean documents (HWP, HWPX, PDF, Office) to Markdown, CLI and MCP server with form filling and diff. » en une solution open source exploitable, avec une chaîne d’outils réutilisable et des moyens d’intégration pour des cas d’usage concrets.

1 823 étoiles335 forksTypeScriptMIT

En bref

De quoi s’agit-il ?
Un CLI et serveur MCP écrits en TypeScript qui convertissent les documents HWP, HWPX, PDF et Office en Markdown, avec remplissage de formulaires, comparaison et édition préservant le format.
À qui s’adresse-t-il ?
kordoc est un projet TypeScript maintenu par une seule personne qui transforme les formats de documents gouvernementaux coréens en Markdown et inversement. Sa caractéristique centrale est le chemin de patch préservant le format : le Markdown édité peut être réappliqué dans le fichier HWPX ou HWP binaire d'origine sans toucher aux octets non modifiés.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 2 jours.
En quel langage est-il écrit ?
Principalement TypeScript, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Sept ans de documents accumulés, transformés en parseur

Le README s'ouvre sur l'origine du projet : l'auteur est un fonctionnaire territorial coréen qui a passé sept ans au bureau du district de Gwangjin à travailler avec des fichiers HWP. kordoc en est le résultat, un outil TypeScript qui parse les HWP 3.x et 5.x, HWPX, HWPML, PDF, XLS, XLSX, DOCX ainsi que les images PNG/JPG/WebP en Markdown. L'objectif déclaré est de mettre les documents gouvernementaux dans le meilleur état possible pour que les IA (LLM) puissent les lire et les analyser, et le README affirme une validation sur des milliers de documents gouvernementaux réels dans cinq projets publics. Les métadonnées du dépôt montrent 1 664 étoiles, 302 forks et une issue ouverte au moment de la rédaction.

Couverture des formats et moteurs d'analyse

Chaque format a son propre moteur. HWPX est traité en ZIP plus DOM XML, avec analyse du manifeste et prise en charge des tableaux imbriqués. HWP 5.x passe par OLE2/CFB avec récupération des documents protégés pour distribution et des fichiers CFB endommagés. HWP 3.x, le format binaire de 1996 à 2002, est analysé avec conversion johab vers Unicode et une table de 5 893 caractères hanja et symboles. L'analyse PDF utilise pdfjs-dist avec détection de tableaux par lignes, ordre de lecture XY-Cut et signaux de qualité de texte par page signalant quand l'OCR est nécessaire. XLSX et DOCX passent par ZIP plus DOM XML ; XLS utilise OLE2 et BIFF8. L'OCR intégré est apparu en v4.2.0 et exécute PP-OCRv5 korean localement, avec un modèle d'environ 18 Mo téléchargé au premier usage. Selon le README, il couvre les 11 172 syllabes hangûl précomposées plus les jamo, lettres latines et symboles.

Comparaison, remplissage de formulaires et patch préservant le format

Au-delà de l'extraction de texte, kordoc propose la comparaison de documents, la reconnaissance de champs de formulaires et le remplissage. La fonction de comparaison travaille au niveau des blocs et prend en charge la comparaison croisée entre HWP et HWPX. Le remplissage préserve les polices, tailles et alignements du modèle original et gère également les champs CLICK_HERE utilisés dans les formulaires gouvernementaux coréens. Le chemin de patch est le choix de conception central du projet : patchHwpx et patchHwp prennent le Markdown édité et n'appliquent que le texte modifié dans le fichier d'origine, sans toucher aux octets non modifiés. Le README rapporte que le patch des fichiers binaires HWP 5.x ne modifie que les secteurs concernés, et que les modifications non prises en charge sont signalées honnêtement via une liste d'éléments ignorés plutôt que silencieusement supprimées.

Génération de documents aux normes gouvernementales

Le sens de génération reconvertit le Markdown en HWPX, y compris les objets d'équation natifs coréens, les graphiques en chartSpace OOXML, les hyperliens, les notes de bas de page et les images intégrées. Un mode document gouvernemental applique les conventions de mise en page du manuel administratif du ministère de l'Intérieur et de la Sécurité : huit niveaux de numérotation d'articles, retraits suspendus, marges officielles et préréglages pour différents types de documents. La version 4.0 a ajouté des formulaires standard, dont le brouillon général (formulaire annexe n° 1) avec 23 espaces réservés et le brouillon simplifié avec 13. Le README indique que ces formulaires ont été construits en décodant 60 documents approuvés réels et 16 types de formulaires gouvernementaux.

Rendu de mise en page sans Hangul installé

kordoc peut rendre des fichiers HWPX en SVG sans installation de Hangul sur le serveur. Pour les fichiers avec données de mise en page en cache, il reproduit l'agencement original à partir des coordonnées de lignes et des grilles de cellules stockées. Pour les fichiers sans cache, y compris les documents générés par kordoc lui-même, un moteur de reflow en TypeScript pur effectue le retour à la ligne et la mise en page verticale. Le chemin de rendu prend en charge la sortie multipage, le surlignage des termes recherchés, les formes de dessin et un mode worker persistant pour les applications d'aperçu. Le README note que les objets d'équation ne sont pas pris en charge dans le rendu.

CLI et serveur MCP pour agents IA

Le paquet fournit à la fois un CLI et un serveur MCP. Le CLI couvre l'analyse, la conversion par lots, le remplissage de formulaires, le patch, le placement de sceaux, la validation, le lint, le rendu et un mode watch qui surveille des dossiers et appelle éventuellement un webhook. Le serveur MCP expose 15 outils, dont parse_document, fill_form, patch_document, generate_document, render_document, redact_document et parse_chunks. Un assistant d'installation, lancé via npx kordoc setup, détecte les clients IA installés, corrige leurs fichiers de configuration et encapsule npx sous Windows. Le README documente également un plugin Claude Code qui enregistre kordoc comme compétence plutôt que comme serveur MCP.

Licence et dépendances

Le projet est sous licence MIT, copyright 2026 chrisryugj. La licence accorde le droit d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et vendre des copies, et exclut toute garantie. Le README liste plusieurs composants open source : rhwp pour le déchiffrement HWP5 et l'analyse CFB, claw-hwp pour l'assemblage de graphiques et les métriques de placement de sceaux, OpenDataLoader PDF pour la détection de tableaux, hml-equation-parser pour l'analyse d'équations HML, PaddleOCR comme source du moteur OCR, cfb pour les conteneurs OLE2, pdfjs-dist pour le texte PDF et JSZip pour le traitement ZIP. Le README indique que les textes de licence NOTICE et THIRD_PARTY sont inclus dans le paquet de distribution npm. Le texte de la licence lui-même ne dit rien sur la posture de sécurité, le support ou l'adéquation à la production.

Conclusion éditoriale

kordoc est un projet TypeScript maintenu par une seule personne qui transforme les formats de documents gouvernementaux coréens en Markdown et inversement. Sa caractéristique centrale est le chemin de patch préservant le format : le Markdown édité peut être réappliqué dans le fichier HWPX ou HWP binaire d'origine sans toucher aux octets non modifiés. Le README indique une validation sur des milliers de documents gouvernementaux réels dans cinq projets publics, et le dépôt contient une suite de benchmarks sous bench/ exécutable avec node bench/score.mjs. Ce que les sources n'établissent pas, c'est un audit de sécurité formel, un engagement de support ou une garantie au-delà du texte de la licence MIT. Pour kordoc : convertir les documents gouvernementaux coréens en Markdown, le public visé doit pouvoir contrôler Le README s'ouvre sur l'origine du projet : l'auteur est un fonctionnaire territorial coréen qui a p dans un environnement de test et accepter les limites documentées; ce choix ne convient pas à une attente de garantie non écrite.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté