본문 바로가기
개발언어/C#

[C#] 한글과 컴퓨터 hwp문서 불러오는 프로그램 만들기

by 창용이랑 2022. 9. 16.
728x90

한글과 컴퓨터 API

한글과 컴퓨터에서는 한/글 자동화 작업을 위한 API를 제공합니다.

 

링크: www.hancom.com/board/devdataList.do?gnb0=25&gnb1=81

 

글로벌 소프트웨어의 리더, 한글과컴퓨터

8 한/글컨트롤 사용법 2013-06-14 41,753

www.hancom.com

 

이는 뷰어뿐만 아니라 기본적인 문서 편집도 가능하게 해 줍니다. 잘만 사용하면 반복적인 업무를 자동화할 수 있다는 의미이죠.

본 포스팅에서는 C# 환경에서 한글과 컴퓨터 API를 사용하여 hwp 파일을 불러오는 방법을 소개합니다.

한컴 오피스 준비하기

한글과 컴퓨터 API를 사용하기 위해서는 한컴 오피스를 설치해야 합니다. 다행인 것은 정품뿐만 아니라 체험판을 설치해도 API를 사용할 수 있습니다. 한컴 오피스 다운로드는 아래 페이지에서 가능합니다.

 

링크: www.hancom.com/cs_center/csDownload.do?gnb0=25&gnb1=80

 

글로벌 소프트웨어의 리더, 한글과컴퓨터

한컴오피스 2022 체험판 (Windows 용) (30일간 사용 가능) --> 한글, 한셀, 한쇼, 한PDF, 개인정보탐색기, 한컴 사전, 한컴 타자연습, 한컴 문서찾기, 한OCR로 구성된 체험판입니다. - PC : Windows 7 이상 / 모

www.hancom.com

위 링크에 접속하면 아래와 같이 다운로드 페이지가 표시됩니다. 구매한 정품 버전 또는 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이 추가된 것을 확인할 수 있습니다.

 

참고 : https://kongpill.tistory.com/entry/HWP-%ED%95%9C%EA%B8%80-%EB%AC%B8%EC%84%9C-pdf-%EB%B3%80%ED%99%98-from-C

 

HWP 한글 문서 pdf 변환 from C#

한글 문서를 pdf 로 변환하려면 한글 ocx 컨트롤을 사용해야합니다. 이름이 "axHwpCtrl" 이건가요.. 머 암튼 대략적인 순서를 기술하자면 아래와 같습니다. 개발 환경 Visual studio 2010, C# Winform 1. 한글

kongpill.tistory.com

 

도구 상자 화면

이 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 접근 허용 오류 해결하기

 

[.Net] C# 한글과 컴퓨터 HwpCtrl 접근 허용 오류 해결하기

HwpCtrl 접근 허용 메시지 한글과 컴퓨터에서 제공하는 hwpctrl ocx를 사용하여 hwp 파일을 불러오면 아래와 같은 파일 접근 경고 메시지가 생성됩니다. 이 메시지는 특정 레지스트리에 dll 경로를 추

luckygg.tistory.com

파일을 불러오면 아래와 같이 표시됩니다. 서식까지 정상적으로 불러와졌고, 마우스 및 키보드 이벤트 모두 정상적으로 입력됩니다.

hwp 파일이 불러와진 모습

아주 간단하죠? 아래 샘플 코드로 확인해 보세요.

 

ExamHwpViewer.zip
0.01MB

 

출처 : https://luckygg.tistory.com/304#google_vignette