{"id":1215,"date":"2026-08-03T09:00:00","date_gmt":"2026-08-03T00:00:00","guid":{"rendered":"https:\/\/blog.hancom.com\/hwp-parsing-guide-rag-performance\/"},"modified":"2026-08-25T11:55:49","modified_gmt":"2026-08-25T02:55:49","slug":"hwp-parsing-guide-rag-performance","status":"publish","type":"post","link":"https:\/\/blog.hancom.com\/en\/hwp-parsing-guide-rag-performance\/","title":{"rendered":"HWP File Parsing Guide | Why Parsing Directly Without PDF Conversion Changes RAG Performance"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">HWP file parsing is rapidly emerging as a core preprocessing step for public-sector AI systems. The <a href=\"https:\/\/zdnet.co.kr\/view\/?no=20260512173412\" target=\"_blank\" rel=\"noopener\">Ministry of the Interior and Safety<\/a> passed a revision at a Cabinet meeting that mandates the use of open document formats that AI can read and use\u2014expanding the requirement from central government ministries to local governments. Starting May 18, 2026, the HWPX-based open document system was also expanded to apply to local governments\u2019 Onnara document system. <\/p>\n\n<p class=\"wp-block-paragraph\">As the standard for public documents rapidly shifts toward HWPX, the accuracy of parsing HWP and HWPX files within a Retrieval-Augmented Generation (RAG) pipeline directly determines the quality of AI responses.<\/p>\n\n<p class=\"wp-block-paragraph\">In this article, we\u2019ll walk through parsing approaches, their impact on RAG performance, and solution selection criteria in order.<\/p>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-structure-preserving-vs-ocr-1024x576.png\" alt=\" Image comparing direct HWP file parsing vs. OCR-based text extraction \" class=\"wp-image-1111\" style=\"width:1024px;height:auto\" srcset=\"https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-structure-preserving-vs-ocr-1024x576.png 1024w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-structure-preserving-vs-ocr-300x169.png 300w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-structure-preserving-vs-ocr-768x432.png 768w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-structure-preserving-vs-ocr-600x338.png 600w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-structure-preserving-vs-ocr.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h2 class=\"wp-block-heading\"><strong>What is HWP file parsing?<\/strong><\/h2>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\">HWP file parsing is the process of converting text, tables, images, and paragraph hierarchy in HWP\/HWPX documents into structured data that AI can read. In RAG, the output becomes the input for chunking, embedding, and retrieval\u2014so if parsing is inaccurate, accuracy drops in the subsequent stages as well. <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Why is HWP\/HWPX parsing difficult?<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">Because HWP\/HWPX are Hancom\u2019s proprietary formats, it\u2019s difficult for general-purpose parsers built for PDF\/DOCX to fully read their structure. The two formats also differ internally: HWP is Hancom Office\u2019s legacy binary-based format, while HWPX is a ZIP + XML-based format introduced in 2010 and made the default save format starting in 2021.  <\/p>\n\n<p class=\"wp-block-paragraph\">That\u2019s why a parser must handle each format separately. However, both formats share a common limitation: there is no universal parser, so if you only extract text, table positions, footnotes, and paragraph hierarchy disappear. <\/p>\n\n<p class=\"wp-block-paragraph\">This issue is even more pronounced in structured documents like public-sector documents, which contain many numbering schemes and tables. The open-source <a href=\"https:\/\/github.com\/martiniifun\/pyhwpx\" target=\"_blank\" rel=\"noopener\">pyhwpx<\/a> runs only on Windows environments where Hanword is installed, making it unsuitable for Linux servers or air-gapped networks. And major LLM frameworks such as LangChain do not provide a standard HWP\/HWPX loader, so you must build a custom parsing pipeline. <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>How is HWP file parsing related to RAG usage?<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">Because RAG processes documents in the order of parsing \u2192 chunking \u2192 embedding \u2192 retrieval \u2192 generation, the parsing output becomes the input for every subsequent stage, and parsing quality sets the upper bound of RAG performance. AWS describes RAG as a three-step process\u2014Retrieve, Augment, Generate\u2014and the data used in the first step (retrieval) must be structured for context to carry through to the answer stage. <\/p>\n\n<p class=\"wp-block-paragraph\">If structural information is lost during parsing, the impact cascades through later stages. Misparsed documents lead to misaligned chunk boundaries, and those chunks can reduce embedding and retrieval accuracy.  <\/p>\n\n<p class=\"wp-block-paragraph\">Because the \u201cGarbage In, Garbage Out\u201d principle applies as-is, it\u2019s important to check parsing quality before trying to improve the model.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Table summarizing how HWP file parsing quality affects each RAG stage<\/strong><\/h3>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Stage<\/td><td>Role<\/td><td>Impact<\/td><\/tr><tr><td>Parsing<\/td><td>Convert documents into structured data<\/td><td>Must preserve hierarchy and tables<\/td><\/tr><tr><td>Chunking<\/td><td>Split into retrieval units<\/td><td>Determine semantic boundaries<\/td><\/tr><tr><td>Embedding<\/td><td>Convert to vectors<\/td><td>Mixed-up chunks distort meaning<\/td><\/tr><tr><td>Retrieval<\/td><td>Find relevant evidence<\/td><td>Missing tables\/conditions increases the risk of wrong answers<\/td><\/tr><tr><td>Generation<\/td><td>Write the answer<\/td><td>Inaccurate evidence triggers hallucinations<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h2 class=\"wp-block-heading\"><strong>Comparison of two HWP file parsing methods<\/strong><\/h2>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\">There are two main ways to parse HWP\/HWPX files: converting HWP\/HWPX to PDF and then processing it, or extracting data directly from the original file. Even if a product claims \u201cHWP support,\u201d it may actually convert to PDF internally\u2014so you must verify the processing method.  <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Comparison table by HWP file parsing approach<\/strong><\/h3>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Category<\/td><td>Parse after PDF conversion<\/td><td>Direct Original Parsing<\/td><\/tr><tr><td>Processing<\/td><td>Convert HWP \u2192 PDF, then parse the PDF<\/td><td>Directly analyze the HWP\/HWPX structure<\/td><\/tr><tr><td>Structure preservation<\/td><td>Hierarchy\/tables may be lost<\/td><td>Better at preserving the original structure<\/td><\/tr><tr><td>Tables\/footnotes\/equations<\/td><td>Prone to breaking during conversion<\/td><td>Interpreted based on the original<\/td><\/tr><tr><td>RAG Utilization<\/td><td>Chunk boundaries may become unclear<\/td><td>Better for semantic chunking<\/td><\/tr><tr><td>Security<\/td><td>Must verify dependency on conversion tools<\/td><td>Can be designed for internal-network processing<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h3 class=\"wp-block-heading\"><strong>Process and limitations of parsing after PDF conversion<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">Parsing after PDF conversion converts HWP\/HWPX to PDF and then extracts text with a PDF parser, so tables may be treated like images or paragraph order may change during conversion.<\/p>\n\n<p class=\"wp-block-paragraph\">According to <a href=\"https:\/\/tech.hancom.com\/ax-era-open-source-ecosystem-strategy-hwp\" target=\"_blank\" rel=\"noopener\">Hancom Tech\u2019s test results<\/a>, extracting directly from HWPX (9.5 seconds) versus converting to PDF and then extracting (150.3 seconds) takes about 15.8\u00d7 longer. Beyond speed, conversion also causes data loss, such as table structures being completely compromised or objects and images being omitted. <\/p>\n\n<p class=\"wp-block-paragraph\">Because PDF is a format that stores content based on where text is placed on the screen rather than its meaning, the <a href=\"https:\/\/arxiv.org\/html\/2410.09871v1\" target=\"_blank\" rel=\"noopener\">comparative study of PDF parsing tools<\/a> also identifies preserving word order, paragraph integrity, and table extraction as major challenges.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Process for direct parsing of original HWP files<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/tech.hancom.com\/python-hwpx-parsing-1\/\" target=\"_blank\" rel=\"noopener\">Direct parsing of original HWP\/HWPX<\/a> extracts data by analyzing the file\u2019s binary\/XML structure directly, without converting to PDF. With no conversion step, hierarchy, tables, and formatting are preserved as-is, and there are fewer points where structural loss can occur. However, implementing this approach requires core technology for the HWP\/HWPX formats, so you must verify that the solution truly reads the original files directly.  <\/p>\n\n<p class=\"wp-block-paragraph\">For HWPX, you must reconnect content, settings, and metadata that are split across multiple files to restore the structure\u2014implementing this requires core technology for the HWP\/HWPX formats themselves. Hancom Data Loader parses originals directly without PDF conversion using an HWP\/HWPX SDK built on Hancom\u2019s 30 years of technology. <\/p>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-workflow-1024x576.png\" alt=\"Image: RAG flow from HWP\/HWPX parsing to chunking and vector DB storage\" class=\"wp-image-1113\" srcset=\"https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-workflow-1024x576.png 1024w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-workflow-300x169.png 300w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-workflow-768x432.png 768w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-workflow-600x338.png 600w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-workflow.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h2 class=\"wp-block-heading\"><strong>How does the HWP file parsing approach affect RAG performance?<\/strong><\/h2>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\">The parsing approach directly affects RAG retrieval accuracy. If structure is damaged by PDF conversion, chunking quality drops\u2014and that damage also reduces embedding and retrieval accuracy. <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Types of structural loss that occur during PDF conversion<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">Structural loss from parsing after PDF conversion appears in three forms\u2014loss of hierarchy, table structure collapse, and missing images\/charts. All occur at the parsing stage and are difficult to recover later.<\/p>\n\n<ol class=\"wp-block-list\">\n<li>Loss of hierarchy: The hierarchy of titles, clauses, and sub-items is flattened, throwing off chunk boundaries.<\/li>\n\n\n\n<li>Table structure collapse: Row and column relationships in merged cells and multi-level headers are damaged, causing numerical values and conditions to be scattered.<\/li>\n\n\n\n<li>Missing images and charts: Visual information that is not converted into text is excluded from the retrieval scope.<\/li>\n<\/ol>\n\n<p class=\"wp-block-paragraph\">In the <a href=\"https:\/\/arxiv.org\/abs\/2410.21169\" target=\"_blank\" rel=\"noopener\">document parsing survey study<\/a> published by a joint research team from the Shanghai AI Lab and Peking University, key components such as layout detection and table\/formula recognition are systematically organized, and the study explains that these outputs form the foundation for downstream tasks such as knowledge base construction and RAG. <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Why parsing quality determines RAG retrieval accuracy<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">Parsing output is the input to chunking, and chunking output is the input to embedding\u2014so if structure is damaged during parsing, incorrect chunks are stored in the vector DB and wrong answers appear at the retrieval stage.<\/p>\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/arxiv.org\/abs\/2401.12599\" target=\"_blank\" rel=\"noopener\">RAG study<\/a> reported that a system equipped with a structure-aware parser produced better answers on about 47% of questions compared to the baseline, tied on 38%, and underperformed on only 15%. (This experiment is based on an in-house comparison using the ChatDOC system.) Checking the parsing structure before swapping models or embeddings offers much higher cost-effectiveness. <\/p>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h2 class=\"wp-block-heading\"><strong>Checklist: What to verify when choosing an HWP file parsing solution<\/strong><\/h2>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\">You should first narrow down HWP\/HWPX file parsing solutions using four criteria: support for direct parsing of originals, DLA (Document Layout Analysis) and hierarchy extraction, TSR (Table Structure Recognition), and support for secure environments. <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>HWP file parsing solution selection checklist<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">\u2705 Does it support direct parsing of original HWP\/HWPX files? <\/p>\n\n<p class=\"wp-block-paragraph\">\u2705 Can it perform DLA and extract hierarchy? <\/p>\n\n<p class=\"wp-block-paragraph\">\u2705 Does TSR handle merged cells and nested tables? <\/p>\n\n<p class=\"wp-block-paragraph\">\u2705 Can it process documents on an internal network without sending them externally?<\/p>\n\n<p class=\"wp-block-paragraph\">The key is not \u201cCan it open the file?\u201d but \u201cHow well does it preserve tables, footnotes, and hierarchy?\u201d Even if the spec says \u201cHWP supported,\u201d some solutions convert to PDF internally. If even one of the four criteria is missing, you\u2019ll hit a bottleneck in the RAG preprocessing stage. The most reliable approach is to test with real business document samples and directly verify how well tables and hierarchy are preserved.  <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Whether it supports direct parsing of original HWP\/HWPX files<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">Many solutions labeled \u201cHWP\/HWPX supported\u201d actually use a PDF-conversion workaround, so you must confirm whether it\u2019s direct parsing of originals or parsing after conversion. If you detour through PDF, tables may be treated as images, making table structure recognition itself difficult. <\/p>\n\n<p class=\"wp-block-paragraph\">When verifying, check whether it reads HWP 3.0+ and HWPX directly, and whether tables and hierarchy are preserved in real business document samples. Ultimately, direct parsing capability depends on whether the vendor has core technology for the HWP\/HWPX formats. Because solutions with core HWP\/HWPX SDK technology are rare, checking this criterion first is the fastest way to narrow your options.  <\/p>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-document-layout-analysis-1024x576.png\" alt=\"&gt; Image explaining document layout analysis and document structure preservation for HWP file parsing\" class=\"wp-image-1114\" srcset=\"https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-document-layout-analysis-1024x576.png 1024w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-document-layout-analysis-300x169.png 300w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-document-layout-analysis-768x432.png 768w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-document-layout-analysis-600x338.png 600w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-document-layout-analysis.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h3 class=\"wp-block-heading\"><strong>DLA and hierarchical structure extraction<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">DLA and hierarchy extraction are key requirements for improving RAG chunking quality.<\/p>\n\n<p class=\"wp-block-paragraph\">This capability automatically distinguishes text, table, and image regions across the full document layout, and it serves a different role than OCR (Optical Character Recognition), which reads characters. With OCR alone, multi-column layouts, tables, and captions can be extracted in a mixed order. Without hierarchy extraction, you\u2019re forced to rely on fixed-size chunking, which limits RAG performance. <\/p>\n\n<p class=\"wp-block-paragraph\">Korean official documents and statutes often use indentation-based hierarchies, which are difficult to process without dedicated recognition. Hancom Data Loader supports both DLA and hierarchy (Level) recognition, ensuring these hierarchical structures are captured as well. <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Scope of table structure recognition<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">For TSR, you should verify whether it handles merged cells, multi-level headers, borderless tables, and even nested tables. If row and column relationships in a table are damaged, the LLM is more likely to misinterpret figures and conditions. <\/p>\n\n<p class=\"wp-block-paragraph\">There are even <a href=\"https:\/\/unstructured.io\/blog\/introducing-score-bench-an-open-benchmark-for-document-parsing\" target=\"_blank\" rel=\"noopener\">benchmarks<\/a> that evaluate table recognition across two dimensions\u2014cell content accuracy and cell position accuracy\u2014showing that preserving positional relationships determines whether it\u2019s usable in real work. <\/p>\n\n<p class=\"wp-block-paragraph\">Public-sector documents contain many complex tables, so practical usability depends on how well table structure is recognized. Hancom Data Loader uses TSR to convert even borderless tables, merged cells, and nested tables into Markdown while preserving row\/column structure at the cell level. <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>How to support secure environments<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">Public, financial, and legal organizations must verify whether documents can be processed on an internal network without being sent to an external cloud. In network-segregated environments, whether on-premises deployment is supported determines feasibility. <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Security environment checks before adopting HWP parsing<\/strong><\/h4>\n\n<p class=\"wp-block-paragraph\">\u2705 Is the original document transmitted externally? <\/p>\n\n<p class=\"wp-block-paragraph\">\u2705 Can it be installed on an internal\/air-gapped network? <\/p>\n\n<p class=\"wp-block-paragraph\">\u2705 Can it integrate via a container-based REST API? <\/p>\n\n<p class=\"wp-block-paragraph\">\u2705 Do the OCR\/DLA\/TSR engines run without relying on external APIs?<\/p>\n\n<p class=\"wp-block-paragraph\">If even one of these four items is not met, you may face situations where documents leak externally or adoption becomes impossible. In particular, it\u2019s hard to confirm from specs alone whether the OCR\/DLA\/TSR engines operate independently within an internal network, so it\u2019s important to verify the technical architecture directly in an actual air-gapped environment. <\/p>\n\n<p class=\"wp-block-paragraph\">If you are looking for a solution that meets all four of these criteria, you can check out Hancom Data Loader.<\/p>\n\n<p class=\"wp-block-paragraph\">\ud83d\udc49 <a href=\"https:\/\/sdk.hancom.com\/services\/1?type=DATA_LOAD\" target=\"_blank\" rel=\"noopener\">Explore Hancom Data Loader<\/a><\/p>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h2 class=\"wp-block-heading\"><strong>HWP\/HWPX File Parsing\u2014Solved with Hancom Data Loader<\/strong><\/h2>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-core-technology-1024x576.png\" alt=\"Image: Core DLA\/TSR-based document structure analysis and key technologies to improve RAG performance for HWP\/HWPX parsing\" class=\"wp-image-1115\" srcset=\"https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-core-technology-1024x576.png 1024w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-core-technology-300x169.png 300w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-core-technology-768x432.png 768w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-core-technology-600x338.png 600w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/07\/hwp-parsing-guide-rag-performance-core-technology.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<h3 class=\"wp-block-heading\"><strong>How to minimize structural loss with direct parsing of original HWP files<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">Hancom Data Loader extracts data directly from original files using core HWP\/HWPX SDK technology, and interprets layout elements\u2014such as track changes, footnotes, endnotes, equations, and bullets\u2014based on the original. It supports a wide range of HWP versions and recognizes diverse layout elements. <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Improving RAG Chunking Quality with DLA and Hierarchical Structure Extraction<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">Chunks that preserve hierarchy improve both retrieval accuracy and the quality of answer evidence. Hancom Data Loader uses DLA to identify text, table, image, and caption regions, and automatically tags hierarchy levels by analyzing paragraph styles, indentation, and numbering schemes with its Level inference engine. It is optimized for recognizing the indentation-based hierarchical structures unique to Korean official documents, statutes, and reports.  <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>How to fully extract even merged cells and nested tables with TSR<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">When numbers and conditions inside tables are structurally preserved, they can be used directly in RAG retrieval. Hancom Data Loader\u2019s TSR converts even borderless tables, merged cells, and nested tables into cell-level row\/column Markdown. <\/p>\n\n<p class=\"wp-block-paragraph\">\ud83d\udca1 If you want to see the results first\u2014how tables and hierarchy are actually extracted from HWP\/HWPX documents\u2014you can check it out directly in the live demo.<\/p>\n\n<p class=\"wp-block-paragraph\">\ud83d\udc49 <a href=\"https:\/\/livedemo.sdk.hancom.com\/dataloader\" target=\"_blank\" rel=\"noopener\">Go use the Hancom Data Loader live demo<\/a><\/p>\n\n<h3 class=\"wp-block-heading\"><strong>How to apply HWP parsing in an on-premises environment<\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">Even in network-segregated environments, you can process documents without sending them outside. Hancom Data Loader is embedded into internal networks as a container-based REST API, enabling operation in public, financial, and legal security environments without external document transfer. Hancom Data Loader is not an end-to-end RAG answer system; it handles document preprocessing, and the retrieval\/Q system can be built in conjunction with Hancom\u2019s RAG solution, Hancom Pedia.  <\/p>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h2 class=\"wp-block-heading\"><strong>HWP file parsing: Frequently asked questions<\/strong><\/h2>\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1784003894719\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong><strong>Can\u2019t I convert an HWP file to PDF and feed it into RAG?<\/strong><\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>During conversion, tables may be treated as images and hierarchy may be flattened, making structural information easy to lose. It can also take about 15.8\u00d7 longer than direct parsing, so if you need to preserve tables, footnotes, and hierarchy, direct parsing of the original is more reliable. <\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1784003900806\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong><strong>Is there an HWP parsing solution that can be used in an air-gapped network?<\/strong><\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Check whether on-premises deployment is supported and whether the OCR\/DLA\/TSR engines run on the internal network without external APIs. Hancom Data Loader can be installed and operated on an internal network via a container-based REST API. <\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1784003909493\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong><strong>Is parsing HWP and HWPX equally difficult?<\/strong><\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>HWP is a binary container, while HWPX is ZIP- and XML-based, so the approaches differ. However, for both formats, extracting only text causes table and hierarchy information to disappear, so restoring the original structure is equally necessary. That&#8217;s why direct parsing of originals is the safer choice regardless of format.  <\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/08\/hwp-parsing-guide-rag-performance-cta-features-1024x576.png\" alt=\"Image introducing Hancom Data Loader, which supports direct HWP parsing and RAG usage based on document hierarchy analysis\" class=\"wp-image-1117\" srcset=\"https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/08\/hwp-parsing-guide-rag-performance-cta-features-1024x576.png 1024w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/08\/hwp-parsing-guide-rag-performance-cta-features-300x169.png 300w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/08\/hwp-parsing-guide-rag-performance-cta-features-768x432.png 768w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/08\/hwp-parsing-guide-rag-performance-cta-features-600x338.png 600w, https:\/\/blog.hancom.com\/wp-content\/uploads\/2026\/08\/hwp-parsing-guide-rag-performance-cta-features.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h2 class=\"wp-block-heading\"><strong>Get started with HWP\/HWPX file parsing with Hancom Data Loader<\/strong><\/h2>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\">Structural loss that occurs during HWP\/HWPX parsing cascades through chunking, embedding, retrieval, and generation\u2014and cannot be restored at any later stage. Many organizations blame RAG quality issues on the LLM or embeddings, but in most cases the real bottleneck is the parsing stage. <\/p>\n\n<p class=\"wp-block-paragraph\">Parsing is not the process of \u201copening\u201d a document\u2014it is the process of designing the ceiling of overall RAG performance. How you extract data structurally determines chunk boundaries, retrieval accuracy, and final answer quality. This gap becomes even larger for complex, Korea-specific documents like HWP\/HWPX.  <\/p>\n\n<p class=\"wp-block-paragraph\">You can resolve the burden of document preprocessing and structure loss all at once with Hancom Data Loader.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>\ud83d\udda5 <a href=\"https:\/\/sdk.hancom.com\/services\/1?type=DATA_LOADER\" data-type=\"link\" data-id=\"https:\/\/sdk.hancom.com\/services\/1?type=DATA_LOADER\" target=\"_blank\" rel=\"noopener\">Hancom Data Loader<\/a><\/strong><\/h3>\n\n<p class=\"wp-block-paragraph\">Hancom Data Loader is a document parsing solution that converts HWP, HWPX, PDF, and OOXML into structured data. The extracted data can be integrated with Hancom\u2019s own RAG solution, Hancom Pedia, to extend capabilities to retrieval and answering. You can start reliable document preprocessing with Hancom Data Loader.  <\/p>\n\n<p class=\"wp-block-paragraph\">\ud83d\udc49 <a href=\"https:\/\/documents.sdk.hancom.com\/dataloader-api\/intro\" target=\"_blank\" rel=\"noopener\">View the Hancom Data Loader API Guide<\/a><\/p>\n\n<p class=\"wp-block-paragraph\">\ud83d\udc49 <a href=\"https:\/\/sdk.hancom.com\/contacts\/create\" target=\"_blank\" rel=\"noopener\">Inquire About Hancom Data Loader<\/a><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>References<\/strong><\/p>\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/zdnet.co.kr\/view\/?no=20260512173412\" target=\"_blank\" rel=\"noopener\">ZDNet Korea<\/a>, \u201cPublic documents to mandate \u2018HWPX\u2019 from the 18th\u2026Transition to an AI-friendly administrative system,\u201d 2026<\/li>\n\n\n\n<li><a href=\"https:\/\/tech.hancom.com\/python-hwp-parsing-2\/\" target=\"_blank\" rel=\"noopener\">Hancom Tech<\/a>, \u201cHanword document file format: Parsing the HWP format with Python (2),\u201d 2025<\/li>\n\n\n\n<li><a href=\"https:\/\/tech.hancom.com\/ax-era-open-source-ecosystem-strategy-hwp\/\" target=\"_blank\" rel=\"noopener\">Hancom Tech<\/a>, \u201cKorean documents for the AX era: Analysis of the open-source ecosystem status and activation strategies,\u201d 2025<\/li>\n\n\n\n<li><a href=\"https:\/\/aws.amazon.com\/ko\/what-is\/retrieval-augmented-generation\/\" target=\"_blank\" rel=\"noopener\">AWS<\/a>, \u201cWhat is Retrieval-Augmented Generation (RAG)?\u201d<\/li>\n\n\n\n<li><a href=\"https:\/\/arxiv.org\/abs\/2005.11401\" target=\"_blank\" rel=\"noopener\">arXiv<\/a>, \u201cRetrieval-Augmented Generation for Knowledge-Intensive NLP Tasks,\u201d 2020<\/li>\n\n\n\n<li><a href=\"https:\/\/arxiv.org\/html\/2410.09871v1\" target=\"_blank\" rel=\"noopener\">arXiv<\/a>, \u201cA Comparative Study of PDF Parsing Tools Across Diverse Document Categories,\u201d 2024<\/li>\n\n\n\n<li><a href=\"https:\/\/arxiv.org\/abs\/2410.21169\" target=\"_blank\" rel=\"noopener\">arXiv<\/a>, \u201cDocument Parsing Unveiled: Techniques, Challenges, and Prospects for Structured Information Extraction,\u201d 2024<\/li>\n\n\n\n<li><a href=\"https:\/\/arxiv.org\/abs\/2401.12599\" target=\"_blank\" rel=\"noopener\">arXiv<\/a>, \u201cRevolutionizing Retrieval-Augmented Generation with Enhanced PDF Structure Recognition,\u201d 2024<\/li>\n\n\n\n<li><a href=\"https:\/\/unstructured.io\/blog\/introducing-score-bench-an-open-benchmark-for-document-parsing\" target=\"_blank\" rel=\"noopener\">Unstructured<\/a>, \u201cIntroducing SCORE-Bench: An Open Benchmark for Document Parsing,\u201d 2025<\/li>\n\n\n\n<li><a href=\"https:\/\/docs.cloud.google.com\/generative-ai-app-builder\/docs\/parse-chunk-documents?hl=ko\" target=\"_blank\" rel=\"noopener\">Google Cloud<\/a>, \u201cDocument parsing and chunk processing,\u201d 2026<\/li>\n\n\n\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/ai-services\/content-understanding\/choosing-right-ai-tool\" target=\"_blank\" rel=\"noopener\">Microsoft Learn<\/a>, \u201cChoose the right Azure AI tool for document processing,\u201d 2026<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>To improve RAG performance, you need to parse HWP files directly\u2014without converting them to PDF. We\u2019ve summarized everything at once: the structural differences between direct parsing of original HWP\/HWPX files and PDF-conversion approaches, how they affect RAG retrieval accuracy, and the must-check criteria when choosing a solution. <\/p>\n","protected":false},"author":2,"featured_media":1216,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-1215","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ax-insight"],"_links":{"self":[{"href":"https:\/\/blog.hancom.com\/en\/wp-json\/wp\/v2\/posts\/1215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.hancom.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.hancom.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.hancom.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.hancom.com\/en\/wp-json\/wp\/v2\/comments?post=1215"}],"version-history":[{"count":6,"href":"https:\/\/blog.hancom.com\/en\/wp-json\/wp\/v2\/posts\/1215\/revisions"}],"predecessor-version":[{"id":1784,"href":"https:\/\/blog.hancom.com\/en\/wp-json\/wp\/v2\/posts\/1215\/revisions\/1784"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.hancom.com\/en\/wp-json\/wp\/v2\/media\/1216"}],"wp:attachment":[{"href":"https:\/\/blog.hancom.com\/en\/wp-json\/wp\/v2\/media?parent=1215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.hancom.com\/en\/wp-json\/wp\/v2\/categories?post=1215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.hancom.com\/en\/wp-json\/wp\/v2\/tags?post=1215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}