한국 행정 문서의 마지막 관문, HWP를 웹에서 다루는 일

테크 블로그Julian · Product Owner2026-06-20 발행· 8분 읽기
변환을 거치며 서식이 어긋나는 손실 경로와, 형식을 이해한 채 원본으로 되돌아오는 무손실 왕복 경로를 나란히 비교한 도식

핵심 요약

  • 정부지원사업 양식이 HWP인 데는 행정 생태계의 이유가 있습니다. 우회할 수 있는 문제가 아닙니다.
  • 웹에서 양식을 '그대로' 보존하기가 어려운 건 레이아웃·표·서식이 변환 과정에서 조금씩 어긋나기 때문입니다.
  • 우리가 잡은 목표는 변환 손실을 줄이는 게 아니라, 형식을 이해한 채로 왕복해 손실을 만들지 않는 것이었습니다.
목차
  1. 왜 정부지원사업은 HWP 양식인가
  2. 양식을 '그대로' 보여주기가 어려운 이유
  3. 목표는 왕복 무손실
  4. 접근 — 형식을 이해하는 자체 렌더링
  5. 만들면서 배운 것

정부지원사업을 한 번이라도 준비해 본 사람은 안내문에 붙은 양식 파일이 대개 HWP라는 걸 압니다. 신청서, 사업계획서, 정산 서류까지 상당수가 이 형식으로 배포됩니다. 창업자 입장에서는 특정 워드프로세서를 열어야만 양식을 채울 수 있다는 뜻이고, 웹에서 문서를 다루는 도구를 만드는 입장에서는 피해 갈 수 없는 관문이라는 뜻입니다.

우리는 공고 양식 위에서 바로 초안을 쓰고 편집할 수 있는 편집기를 만들려 했습니다. 그러려면 이 HWP 양식을 웹에서 원래 모양 그대로 보여주고, 사용자가 편집한 결과를 다시 제출 가능한 형식으로 돌려줘야 했습니다. 이 글은 그 과정에서 부딪힌 문제와, 우리가 택한 접근을 적었습니다.

왜 정부지원사업은 HWP 양식인가

이건 누가 고집을 부려서가 아니라 생태계의 관성입니다. 한국의 공공 행정은 오랫동안 이 형식을 표준으로 써 왔습니다. 기관이 배포하는 양식, 내부에서 결재하는 문서, 접수받는 서류가 모두 이 형식에 맞춰져 있으면, 특정 기관 하나가 형식을 바꾼다고 해결되지 않습니다. 받는 쪽과 주는 쪽이 함께 움직여야 하는 문제입니다.

그래서 '요즘 세상에 왜 아직'이라는 질문은 도구를 만드는 데는 도움이 안 됩니다. 창업자는 지금 이 양식으로 서류를 내야 하고, 도구는 그 현실에 맞춰야 합니다. 우리가 HWP를 다루기로 한 건 선호가 아니라, 사용자가 실제로 제출해야 하는 형식이 그것이기 때문입니다.

양식을 '그대로' 보여주기가 어려운 이유

문서를 웹에서 보여주는 흔한 방법은 다른 형식으로 한 번 변환하는 것입니다. 그런데 변환은 거의 항상 무언가를 잃습니다. 특히 행정 양식은 손실에 민감한 요소로 가득합니다.

표가 대표적입니다. 정부 양식은 칸을 나눠 항목을 배치한 복잡한 표가 많은데, 셀 병합과 칸 너비, 테두리 굵기가 조금만 어긋나도 '양식대로'가 무너집니다. 여백과 줄 간격, 글머리 기호, 자간처럼 눈에 잘 안 띄는 서식도 심사자가 받는 문서의 인상을 좌우합니다. 창업자가 웹에서 편집한 결과가 원래 양식과 미묘하게 달라져서 나오면, 그건 제출 서류로서 문제가 됩니다.

변환 손실이 특히 아픈 지점

  • 복잡한 표. 셀 병합과 칸 너비, 테두리가 어긋나면 양식이 무너진다.
  • 미세 서식. 여백·줄 간격·글머리 기호는 눈에 안 띄지만 문서 인상을 좌우한다.
  • 왕복. 열어서 보여줄 때 한 번, 편집 결과를 되돌릴 때 한 번, 손실은 두 번 쌓인다.

목표는 왕복 무손실

손실이 두 번 쌓인다는 게 핵심입니다. 양식을 열어 웹 화면에 보여줄 때 한 번 변환하고, 사용자가 편집한 결과를 제출 형식으로 되돌릴 때 또 한 번 변환하면, 원본과 결과물 사이 거리가 두 배로 벌어집니다. 여러 번 저장하고 여는 사이 이 오차가 눈덩이처럼 커지기도 합니다.

그래서 우리가 잡은 목표는 '변환 손실을 줄이자'가 아니라 '들어온 문서가 손대지 않은 부분은 나갈 때 그대로여야 한다'였습니다. 사용자가 세 번째 문단만 고쳤다면, 나머지는 처음 들어온 모습 그대로 나가야 합니다. 이 왕복 무손실을 기준으로 삼으면, 설계에서 타협할 수 있는 것과 없는 것이 분명해집니다.

위쪽은 변환을 두 번 거치며 표와 서식이 어긋나는 손실 경로, 아래쪽은 원본 구조를 보존한 채 편집분만 반영해 돌아오는 무손실 왕복 경로를 대비한 도식
변환을 거듭하는 손실 경로(위)와, 원본 구조를 보존한 무손실 왕복 경로(아래)

접근 — 형식을 이해하는 자체 렌더링

왕복 무손실을 이루려면, 문서를 다른 형식으로 번역해 버리는 대신 원래 형식의 구조를 그대로 이해하는 편이 낫다는 결론에 이르렀습니다. 문서가 어떤 문단, 어떤 표, 어떤 서식으로 이루어졌는지를 원본의 구조 그대로 읽어 들이고, 그 구조를 웹 화면에 직접 그립니다.

이 방식의 장점은 편집을 구조 위에서 다룰 수 있다는 것입니다. 사용자가 특정 문단을 고치면 그 문단에 해당하는 부분만 바꾸고, 나머지 구조는 원본 상태로 유지합니다. 되돌릴 때도 전체를 다시 만들어 내는 게 아니라 바뀐 부분만 반영합니다. 손대지 않은 표와 서식은 애초에 건드리지 않으니 어긋날 일이 없습니다. 어려운 건 이 구조를 정확히 읽고 화면에 충실히 재현하는 일 자체인데, 여기에 대부분의 공을 들였습니다.

만들면서 배운 것

가장 크게 배운 건, 어떤 문제는 우회하는 것보다 정면으로 다루는 게 결국 빠르다는 것이었습니다. HWP를 다른 형식으로 바꿔 피해 가려던 초기 시도는 매번 새로운 손실을 만들었고, 그 손실을 메우는 예외 처리가 끝없이 늘었습니다. 형식 자체를 이해하기로 방향을 바꾸고 나서야 손실 문제의 뿌리가 사라졌습니다.

또 하나는 '눈에 안 띄는 것'의 무게입니다. 자간이나 셀 테두리 굵기는 사용자가 의식하지 못하지만, 제출 서류에서는 이런 디테일이 문서의 완성도를 만듭니다. 행정 문서를 다루는 도구는 화려한 기능보다 이런 보이지 않는 충실함으로 평가받는다는 걸, 만들면서 계속 확인했습니다.

이렇게 다룬 양식 위에서 초안을 시작하려면, 먼저 공고 모아보기에서 지금 모집 중인 공고를 고르면 됩니다. 양식은 공고에 붙어 있고, 편집기는 그 양식을 그대로 열어 줍니다.

공고 양식 그대로 초안을 시작해 보세요

공고 모아보기
J

JulianProduct Owner

genDOC의 프로덕트 오너이자 개발자. 공고 데이터 파이프라인부터 문서 편집기까지 제품을 직접 만들고 있습니다.

이 글은 Julian이 작성하고 genDOC 팀이 함께 검수했습니다.

공고의 HWP 양식 그대로, AI 임직원 7명과 사업계획서 초안 작성하기

지금 모집 중인 정부지원사업 공고를 확인하고 무료로 시작해 보세요.

함께 읽기