본문 바로가기
기타

hwp 문서 자동화 생성 관련 실서버 배포 가능한 개발 방식 공유

by 코딩공장공장장 2022. 11. 25.

안녕하세요.

 

hwp 문서 자동화 생성은 여러가지 방식이 존재합니다.

 

다만 각 방식에서 장단점이 존재하며 장단점은 개발의 편이성, 지원 기능, 비용, 운영환경의 차이가 있습니다.

 

이를 위해 고려했던 방식과 제가 겪었던 내용들을 공유하려고 합니다.

 

제가 알고있는 방식에 한하여 말씀드리겠습니다. 혹시 다른 의견이나 아시는 내용있으시면 공유해주시면 감사하겠습니다.

 

1. 한컴에서 제공해주는 한글컨트롤 API

한컴에서 제공해주는 한글컨트롤 API는 ActiveX 환경에서만 동작합니다. 

 

ActiveX 환경의 브라우저를 사용하는 사용자가 거의 없는 요즘에 이를 선택하기엔 부적절해 보였습니다.

 

2. 웹한글 기안기

한컴에서 웹한글 기안기라는 소프트웨어를 개발하여 Non-ActiveX 환경에서도 

 

*.hwp 문서 생성이 가능한 소프트웨어를 제공해주는데 현재 기준으로 100% 기능 지원이 되지 않습니다.(ex. 수식 기호)

 

참고로 웹한글 기안기는 웹브라우저 환경에서 hwp파일을 만들 수 있는 소프트웨어인 것 같습니다.

 

관련 기사들을 보니 공공기관에서 제공해주는 파일들을 hwp 확장자 파일로 주로 제공을 하는데

 

한글 파일이 없는 사용자들은 공공기관에서 제공해주는 파일을 사용하기 위해 한글 파일을 구매해야한다는 

 

단점으로 이를 해결하기 위해 만들어진 소프트웨어인 것 같습니다.

 

 

3. hwp 관련 java 라이브러리로 개발

java 프로그래밍에서 hwp 문서를 생성할 수 있는 라이브러리가 존재하는데 이는 한컴에서 제공해주는

 

라이브러리가 아니라 일반 개인이 만든 라이브러리입니다.

 

개인이 몇년에 걸쳐서 개발한 라이브러러로 아직 100% 기능 사용은 불가하며 한컴 공식 API가 아니므로

 

한컴 공식 API와는 다른 사용방식입니다.

 

4. 파이썬의 pywin32 모듈로 한글컨트롤 API 명령어 사용

파이썬의 pywin32 모듈은 마이크로소프트에서 제공해주는 ActiveX환경에서 실행되는 명령어를

 

Non-ActiveX 환경에서도 실행될 수 있도록 제공해주는 모듈입니다.

 

한컴에서 제공해주는 공식 API인 한글 컨트롤 API를 그대로 사용할 수 있지만

 

단점은 pywin32는 windows 운영체제에서만 제공되는 모듈이기 때문에 linux서버를 사용하는 프로그램은

 

이를 위해 windows 서버를 새로 생성해야합니다.

 

 

네 가지 방식 요약

  1. 한글컨트롤 API 2. 웹한글 기안기 3. java 라이브러리 4. pywin32로 한글컨트롤API
기능지원 100% 미지원 기능 있음 미지원 기능 있음 100%
공식API O O X O
Non-ActiveX X O O O
운영체제 windows/linux linux windows/linux windows
비용 문제 리눅스 라이선스 구매 리눅스 라이선스 구매 리눅스 라이선스 구매 리눅스보다 비싼 윈도우 서버 구축

 

제가 조사한 바로는 개발할 수 있는 환경이 위 네 가지가 있었습니다.

 

2번 방식 웹한글 기안기 사용이 가장 좋아보였으나 제가 필요로 하는 기능은 아직 웹한글 기안기에서 사용할 수 없어

 

이를 선택할 수 없었습니다.

 

3번 방식 hwp 자바 라이브러리로 개발은 한컴 공식 라이브러리가 아니기 때문에 한컴에서 제공해주는 API가이드를 통해

 

개발은 불가하며 100% 기능이 지원되지 않아 필요한 기능은 직접 개발해야합니다.

 

똑같은 기능을 구현하더라도 공식 API 방식보다 비교적 복잡하고 소스 라인 수도 상당히 많아집니다.

 

또한 리눅스 한글에서 자신이 필요로 하는 기능이 지원되는지도 검토해보아야합니다.

 

리눅스 한글이 2008버전과 2020버전이 있는데 2020배포판이 나왔을 때 이를 사용한 사용자들의 평으로는

 

아직 지원되지 않는 기능이 많다는 다수의 글이 있었습니다.

 

현재는 배포판이 아닌 유료 버전이며 저또한 리눅스 한글 버전은 사용해보지 않아 모든 기능이 지원되는지에 대해서는

 

잘 알지 못합니다.(아시는 분 있으시면 공유 부탁드립니다.)

 

4번 방식은 공식 API 명령어를 그대로 사용할 수 있고 한글 프로그램 또한 windows환경에서 돌아가니 

 

지원가능한 기능에 제약조건이 거의 없는것으로 생각됩니다.

 

다만 linux보단 비싼 windows 서버를 구축해야한다는 점이 비용면에서 단점입니다.

 

linux 서버에서 구현하는 방식을 선택한다고해서 비용이 절감되는 것은 아닙니다.

 

linux 한글 라이선스 구매 비용 또한 고려해야하기 때문에 hwp 문서 생성 서버의 사용자가 적다면

 

리눅스 라이선스 별도 구매 없이 windows 서버를 별도로 구축하는게 비용적으로 더 유리할 수도 있을 것 같습니다. 

 

개발하는데 드는 시간과 노력을 비용으로 산정한다고 하더라도 공식 API를 사용할 수 있는 4번이 

 

가장 효율적일것 같고요.

 

 

 

운영환경이 리눅스라면 당연히 한글프로그램도 리눅스용 한글 프로그램이 깔려있어야 하고

 

운영환경이 windows라면 한글프로그램도 우리가 흔히 사용하는 windows용 한글 프로그램이 깔려있어야 합니다.

 

일반적으로 개발자들의 로컬 개발환경이  windows에서 하기 때문에 운영이 linux라면

 

windows용 한글과 linux용 한글 모두 구매를 하셔야할 것입니다.

 

 

반응형