SDK Parity Matrix¶
This page maps the public Hancom Hwp SDK capability areas to the current OpenHwp Automation CLI surface. It is a support boundary, not a promise that every observed HWPX XML signal can be safely authored.
Primary references:
- Hancom Hwp SDK: HWP/HWPX viewing, create/open/save, format conversion, data insertion/editing, document security, and comparison/merge/history areas.
- Hancom SDK lineup: separate SDK product areas such as document editing, automation, comparison, Docs Compare SDK, OCR SDK, and PDF SDK.
Status Terms¶
| Status | Meaning |
|---|---|
verified |
Implemented and covered by a repeatable command-level validation path. |
COM-smoke |
Routed through local HWP/Hanword COM and validated by an open/save/export or report smoke test. |
package-writer |
Writes HWPX package XML directly with postcondition checks. |
inventory-only |
The CLI can detect and report the feature, but does not broadly author it. |
unsupported |
No named CLI command or supported workflow exists. |
needs-SDK |
The public Hancom SDK material points to a separate SDK or capability family outside this wrapper. |
Capability Matrix¶
| Hancom SDK area | State | Current CLI support | Verification command | Current gap |
|---|---|---|---|---|
| HWP/HWPX viewing and document open | COM-smoke |
doc-info, read-text, read-page, diagnose-com use installed HWP COM. |
--visible diagnose-com <file> then doc-info <file> or read-text <file>. |
No SDK-free viewer/runtime is bundled. COM behavior depends on the local desktop installation. |
| Create, open, save, save-as | COM-smoke / package-writer |
new-text, copy-save, export-pdf, form-map apply paths, and supported package writers. |
copy-save <in> <out>, validate-content <out>, and PDF export when visual behavior matters. |
No general HWP writer that can safely recreate arbitrary rich documents from scratch. |
| PDF format conversion | COM-smoke |
export-pdf and visual-smoke-corpus cover PDF export through HWP COM. |
--visible visual-smoke-corpus <corpus> <out> <report> --strict-cleanup. |
PDF export still requires local HWP COM and human visual review for layout quality. |
| Non-PDF format conversion | unsupported |
No named command for HTML, web page, image, or other document-filter conversions. | None yet. | Add a named conversion command plus text/page/object preservation checks before claiming support. |
| Extract and edit text/image/table data | package-writer / COM-smoke |
extract-form-map, probe-form-map, apply-form-map, fill-submission-template, list-pictures, replace-image-control, and table-*-package. |
Run the specific command report, then validate-layout, validate-content, scan-hwpx-features, and PDF export for visual review. |
Rich arbitrary authoring remains feature-specific. Unsupported targets must stay skipped or inventory-only. |
| Header/footer and page numbering | inventory-only / package-writer / COM-smoke |
list-header-footer, set-header-footer-text, set-header-footer-apply-page-type, add-header-footer-reference, add-header-footer-text, and page-number-set cover focused cases. |
Inventory before/after plus validate-layout; page-number-set also needs COM smoke. |
add-header-footer-reference reuses an existing idRef; add-header-footer-text creates only a minimal one-paragraph text body with a section-unique header/footer idRef. Rich header/footer authoring is not general-purpose yet. |
| Page/section layout setup | unsupported |
No named command for paper size, margins, orientation, columns, section breaks, or section-specific numbering policy. | None yet. | Add focused inventory and writer commands before promoting this area. page-number-set is only a narrow page-numbering smoke, not general page setup support. |
| Fields and form controls | package-writer / inventory-only |
Package form-map writes support press-field text and checkbox values in known paths; list-fields --com inventories broader fields. |
list-fields --com, form-map apply report, package XML check, and layout/content validation. |
Radio, combo, edit, button, and generic field semantics need separate write contracts. |
| Captions, bookmarks, references, TOC/index, notes | inventory-only |
scan-hwpx-features inventories these signals. |
scan-hwpx-features <file-or-corpus> <report>. |
Broad COM/package authoring and refresh workflows are not implemented. |
| Shapes, text boxes, WordArt-like objects, equations, charts, OLE, media | inventory-only |
scan-hwpx-features inventories many signals; some objects are preservation-only today. |
Feature scan plus PDF visual smoke when the document opens. | Authoring is not broadly supported; chart/OLE/media may require editor or SDK-specific handling. |
| Document security | unsupported |
No supported CLI command for document password, distribution/read-only restrictions, or private-text encryption. | None yet; future work requires reversible fixture smoke tests. | Do not mark implemented without a real HWP/SDK-backed command and output-only verification. |
| Document comparison, merge, and history | needs-SDK |
No document-level compare/merge/history command. Table cell merge/split commands are unrelated package-table operations. | None for document-level compare/merge/history. | External dependency research is required where Hancom points to separate comparison SDK capability. |
| OCR/PDF SDK areas | needs-SDK |
Outside the HWP/HWPX automation wrapper. | Not applicable. | Treat as external SDK/product scope, not OpenHwp Automation support. |
Gap Ledger¶
| Area | State | Next evidence required |
|---|---|---|
| Document password and read-only/distribution controls | unsupported |
Identify an HWP COM action or separate SDK path, then add a reversible fixture smoke test. |
| Private text encryption | unsupported |
Add a fixture proving before/after protection behavior without mutating the original input. |
| Document compare/merge/history | needs-SDK |
Confirm whether the available path is report-only, merge-output, or a separate Hancom SDK dependency. |
| HTML and non-PDF conversion | unsupported |
Add a named conversion command plus text/page/object preservation checks. |
| General rich authoring | inventory-only |
Promote one feature at a time from inventory to COM/package writer with fixture output and validation. |
| Page/section layout setup | unsupported |
Add focused inventory and writer commands for paper, margin, orientation, columns, section breaks, and section numbering policies. |
| Press field and checkbox writes | package-writer |
Keep form-map reports, value postchecks, and layout/content validation as the gate. |
| Radio/combo/edit/button controls | inventory-only / unsupported |
Define control-type value semantics and mismatch behavior before writing. |
Verification Gate¶
Use this gate before moving a capability from unsupported or inventory-only to a stronger state:
- Add or select a real HWPX fixture that HWP can open.
- Run
scan-hwpx-featuresor the focused inventory command and save the report. - Run the mutation or COM workflow with an explicit report.
- Run
validate-layoutandvalidate-contentwhere the command changes a document. - Export to PDF or run
visual-smoke-corpusfor visual smoke evidence. - Keep expected failures exact:
fileNameOrPath=exitCode[:reasonFragment].
If any step depends on a separate Hancom SDK or license that this repository does not bundle, leave the state as needs-SDK rather than implying OpenHwp Automation support.