음. 요사이 각종 문서 형태를 PDF 형태로 변환하는 놀이가 은근히 재미가 있어서 한글(hwp) 파일도 가능하지 않을까해서 COM을 이용해서 작업을 해보았는데 레퍼런스가 없다보니 한글 문서를 열다가 에러가 떨어져 중단한 상태입니다. 나중에 시간나면 다른 각도에서 접근해볼 생각인데 그 재미있는 삽질기를 올립니다.
using HwpObjectLib;
private object paramMissing = Type.Missing;
private HwpObjectLib.HwpObjectClass myHwp;
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog myFileDialog = new OpenFileDialog();
myFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
myFileDialog.Filter = "한글 Files|*.hwp|All Files|*.*";
myFileDialog.FilterIndex = 1;
if (myFileDialog.ShowDialog(this) == DialogResult.Cancel)
return;
try
{
myHwp = new HwpObjectClass();
string filename=myFileDialog.FileName;
object Format = paramMissing;
object arg = paramMissing;
myHwp.Open(filename, Format, arg);
//PDF 저장할 위치 및 파일 이름 설정
SaveFileDialog saveScreenshot = new SaveFileDialog();
saveScreenshot.Filter = "hwp Files (*.hwp)|*.hwp|PDF Files(*.pdf)|*.pdf|All files (*.*)|*.*";
saveScreenshot.Title = "다른 이름으로 저장...";
saveScreenshot.FilterIndex = 2;
saveScreenshot.InitialDirectory = Application.StartupPath;
saveScreenshot.RestoreDirectory = true;
if (saveScreenshot.ShowDialog() == DialogResult.OK)
myHwp.SaveAs(saveScreenshot.FileName, paramMissing, paramMissing);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
myHwp.Quit();
}
}
한글을 PDF로 변환해주는 것은 한글의 자체 기능으로 제공하기 때문에 C#과 같은 프로그래밍 언어에서 접근은 막아둔 것 같다는 느낌이 들긴 합니다. 대개 COM을 이용하면 해당 응용 프로그램에서 제공하는 기능을 프로그래밍 수준에서 접근이 가능한데 아쉽더군요.
참고로 C#을 이용하여 COM 형태로 접근하는 방법을 알고 싶으신 분은 영진닷컴에서 다음달 초에 나오는 제 책을 참고하시길 바랍니다. 책에 대한 간략한 소개는 교보문고, 예스 24, 인터파크에 있습니다.
교보문고
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788931440133&orderClick=LAH
예스 24
http://www.yes24.com/24/goods/4058464
인터파크
http://book.interpark.com/product/BookDisplay.do?_method=Detail&sc.shopNo=0000400000&dispNo=&sc.prdNo=205162369
그럼 잠시동안 HWP로 작업했었던 즐거운 프로그래밍 놀이를 마칩니다.
'C#' 카테고리의 다른 글
Entity Data Model 관련하여 읽어보면 도움이 되는 글 (0) | 2010.10.20 |
---|---|
PDF 파일을 만드는 방법에 대한 간단한 소개 (4) | 2010.08.07 |
C# Language Specification version 4.0 download (0) | 2010.06.13 |
Inside .NET 4: Meet the BCL Team (0) | 2010.06.09 |
Expression Blend 4 beta 를 설치 후 Visual Studio 2010 RC 실행 에러 (0) | 2010.04.28 |