2006년 10월 08일
아래아한글로 웹 리포팅툴 + 웹입력창 만들기
프로젝트에서 고객 요구사항으로, 웹의 입력란( input type=text 아니면 textfield 겠죠)이 너무 불편하다고, 한글에서 문서작성하는 것처럼 표나 그림도 넣을 수 있게 해줄 수 없느냐는 말이 나왔었습니다.. E-mail 작성할때 뜨는 html편집창처럼 아래한글편집창이 떴으면 좋겠다는 것이였죠.
html편집기는(지금도 html편집기로 이 포스트를 작성하고 있군요..^^;)는 대부분 Internet Explorer의 내장 객체를 사용한 것이라서, 당연한 듯이 그런 기능이 되지만, 아래아한글에서도 과연 그런 것이 제공될 수 있을지 처음에는 부정적이였는데, 다 찾아보니까 있더군요..
http://www.haansoft.com/hnc4_0/swlab/sample_01.html
예제,API문서 등이 한글과 컴퓨터 사이트에 가면 다 있습니다. Active X control형태인데, 웹에서 다운로드되어서 바로 제공되는 것은 아니고, Local PC에 아래아한글 2002이상이 설치되어 있어야 작동을 하게 되어 있군요.
이 콘트롤로 가능한 작업들을 대충 정리해 보면
1. 문서를 읽어와서 웹화면에 편집기형식으로 뿌려주기. 이 때 편집창에 보이는 아이콘,편집모드(읽기전용,편집,양식모드), 화면보기 옵션(메뉴,조판부호,쪽윤곽등을 보이게 할 것인지 말것인지..)을 다 지정가능합니다.
2. 읽어온 파일의 특정부분에 값을 집어넣어서 표시하기.- 누름틀이나 셀에서 필드이름을 지정하면 가능합니다. 그리고 리스트형식의 자료도 집어 넣을 수 있습니다.. 필드명이 html에서 객체이름과 마찬가지로, 같은 이름이 여러개 정의되면 배열처럼 인식됩니다.
3. 웹화면의 아래아한글 편집창 안의 특정부분에 입력된 값 인식하기 - 역시나 필드이름이 지정된 누름틀이나 셀에 들어간 내용은 밖으로 끄집어 내는 것이 가능한데요, javascript로 이 값을 <input type=hidden... 형식으로 변수로 빼서 처리하면 뒤의 서버단에서 받아서 DB에 저장하는 것도 가능합니다. 저장형식은 text값, 그림,표를 모두 포함할수 있는 한글의 base-64 encording방식.. 등이 다 가능합니다.
대신 base-64 encording은 용량이 많이 늘어나더군요. 그러나 글 그림을 포함하는 한글의 포멧을 특수문자가 들어가지 않은 text로 변환해 주기 때문에,DB에 저장할 때는 무척편합니다. sybase DB에서 text 형식으로 저장하고 있는데, 아마 Oracle에서는 CLOB으로 들어가겠죠?
5. Local PC에서 한글포멧의 파일로 저장..-HWP파일로 바로 저장을 할 수도 있습니다.
6. 그외.. 아래아 한글 내부의 거의 모든 제어..
셀병합이라던지, 배경이미지 삽입 등등.. 프로그래밍만 조금 해준다면, 리포팅툴에서 할 수 있는, 연속되어서 중복되어서 표시되는 값들을 병합한 셀로 만드는 것도 가능합니다..
아뭏든 처음봤을때는 무척신기하더군요..
공공기관처럼 아래아한글을 거의 필수적으로 사용하게 있는 조직이 고객이라면, 리포팅툴 대신 이 Active X 콘트롤을 이용해서 리포팅툴을 구현하는 것도 괜찮을 것 같습니다. 개발자한테는 따로 리포팅툴 사용법을 배워야 하는 부담감도 없고, 서식을 그리는 것도 아래아한글 파일을 만드는것이니 더 편하겠죠. 더군다나 고객쪽에서 이미 쓰고 있는 아래아한글 파일이 있어서 그 파일을 그대로 들고와서 작업을 할 수 있다면 금상첨화!. JSP + javascript 작업이 많아지긴 하지만, 그만큼 개발자가 제어할 수 있는 부분이 늘어난다는 장점도 있어요. 각 리포트 유형별 템플릿만 잘 정리해 둔다면 생산성도 더 올라갈 것 같습니다.
그런데 입력창을 아래아한글 입력란처럼 만들어서 DB에 아래아 한글문서 속성(표나 이미지까지 포함한)까지 저장하는 것은 좀 더 고려해 봐야 할 듯 하네요. 향후 아래아한글 형식으로 저장된 DB컬럼을 conversion해야 하는 일이 생길 때는 따로 conversion 프로그램을 짜야 할 것입니다. 또, 사용자가 조회조건에 아래아한글 형식의 컬럼을 like 조건으로 넣고 싶다는 요구사항이 추가로 나올 경우도 있겠죠. 저희 프로젝트에서는 실제로 조회조건 때문에 같은 내용을 아래아한글 형식, Plain text 두 가지 칼럼을 두고 있는 경우도 많이 생기게 되었었습니다.
이 Active X 콘트롤외에도 아래아한글의 신기한 기능들이 많아서 감탄하고 있답니다..
1. 새로운 사용자 정의 기능을 추가할수 있는 OLE Automation
2. ODBC설정으로 아래아한글에서 바로 DB로 접속해서 값을 가지고 올 수있는것,
3. 한글문서내에 버튼 같은 콘트롤을 넣고, 한글에서 제공하는 javascript비슷한 script 언어로 프로그래밍이 가능한것..
Visual Studio Tools for Office이던가요? MS에서는 그런것도 있다지만, 아뭏든 한컴도 많이 애쓰고 있는것 같네요.
기회가 되면 전형적인 리포트 유형을 구현한 예제를 올려 보고도 싶군요.
# by | 2006/10/08 17:58 | 기술 자료 | 트랙백 | 덧글(0)
◀ 이전 페이지 다음 페이지 ▶



