한글과 컴퓨터 API
한글과 컴퓨터에서는 한/글 자동화 작업을 위한 API를 제공합니다.
링크: www.hancom.com/board/devdataList.do?gnb0=25&gnb1=81
이는 뷰어뿐만 아니라 기본적인 문서 편집도 가능하게 해 줍니다. 잘만 사용하면 반복적인 업무를 자동화할 수 있다는 의미이죠.
본 포스팅에서는 C# 환경에서 한글과 컴퓨터 API를 사용하여 hwp 파일을 불러오는 방법을 소개합니다.
한컴 오피스 준비하기
한글과 컴퓨터 API를 사용하기 위해서는 한컴 오피스를 설치해야 합니다. 다행인 것은 정품뿐만 아니라 체험판을 설치해도 API를 사용할 수 있습니다. 한컴 오피스 다운로드는 아래 페이지에서 가능합니다.
링크: www.hancom.com/cs_center/csDownload.do?gnb0=25&gnb1=80
위 링크에 접속하면 아래와 같이 다운로드 페이지가 표시됩니다. 구매한 정품 버전 또는 2020 체험판을 설치합니다.
한컴 오피스 다운로드 화면
따라 하기
C# Windows Forms 앱(.Net Framework) 항목을 선택하고 ExamHwpViewer라는 프로젝트를 생성합니다.
Windows Forms 앱(.Net Framework) 프로젝트 생성하기
프로젝트 생성 후 아래와 같이 참조 추가 메뉴를 클릭합니다.
참조 추가 메뉴 클릭
참조 관리자 창이 표시되면 찾아보기 버튼을 클릭합니다.
참조 관리자 화면
한글과 컴퓨터 설치 경로에있는 HwpCtrl.ocx를 선택합니다.
HwpCtrl.ocx 선택하기
정상적으로 추가되면 아래와 같이 목록에 표시됩니다.
또는 참조관리자 - COM에서 HwpCtrl ActiveX Control module v.1.2를 선택해도 같습니다.
그다음 도구상자에 HwpCtrl Control을 추가해야합니다.
방법은 도구상자의 빈영역에서 우클릭해 "항목선택"
"COM 구성요소" 보시면 "HwpCtrl Control"을 체크후 확인을 눌러줍니다.
그러면 참조에 처음에는 HWPCONTROLLib만 있었는데...AxHWPCONTROLLib가 추가가 되며..
HwpControlLib가 추가된 모습
그리고 도구 상자에 보면 아래와 같이 HwpCtrl Control이 추가된 것을 확인할 수 있습니다.
도구 상자 화면
이 HwpCtrl Control 및 Button을 Drag & Drop 하여 WinForm에 추가합니다.
WinForm에 HwpCtrl Control 및 Button을 추가한 모습
그리고 아래와 같이 코드를 수정합니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
namespace ExamHwpViewer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void buttonOpen_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog dlg = new OpenFileDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
axHwpCtrl1.Open(dlg.FileName);
}
}
catch(Exception exc)
{
MessageBox.Show(exc.Message);
}
}
}
}
프로그램을 실행하면 아래와 같이 한글 입력 화면이 표시되고 실제로 입력도 가능합니다. 이제 불러오기 버튼을 클릭하여 파일을 하나 불러오겠습니다.
한글 입력기 화면
파일을 불러오면 아래와 같이 경고 창이 표시됩니다. 일단 접근 허용 또는 모두 허용을 클릭합니다. 코드에서 접근 시 발생하는 메시지인데요. 이는 레지스트리에 dll 경로를 설정하여 해결할 수 있습니다. 추후 포스팅을 통해 해결 방법을 설명하겠습니다.
파일 접근 경고 메시지
해당 메시지를 해결하는 방법은 아래 링크를 참고하세요.
[.Net] C# 한글과 컴퓨터 HwpCtrl 접근 허용 오류 해결하기
파일을 불러오면 아래와 같이 표시됩니다. 서식까지 정상적으로 불러와졌고, 마우스 및 키보드 이벤트 모두 정상적으로 입력됩니다.
hwp 파일이 불러와진 모습
아주 간단하죠? 아래 샘플 코드로 확인해 보세요.
'개발언어 > C#' 카테고리의 다른 글
[C#] 한글 ActiveX 한글문서로 부터 Text, Html추출 (0) | 2022.09.16 |
---|---|
[C#] 한글과 컴퓨터 HwpCtrl 접근허용 오류 해결하기 (0) | 2022.09.16 |
[C#] Thread 배열에 담아 다중 Thread 실행 해보기 (1) | 2022.09.01 |
[C#] 파일경로에서 확장자, 파일명, 경로 추출하는 함수와 예제 (0) | 2022.08.30 |
[C#] List 사용법 정리 (0) | 2022.08.24 |