이 범주에서는 한글 오토메이션에 대한 다른 사용자의 기술 지원을 제공받을 수 있습니다.
- 한글 오토메이션의 API 사용/연동은 개발 가이드를 참조하세요.
- 일반 문의는 한글과컴퓨터 웹사이트의 고객 지원을 이용하세요.
- 개인정보가 포함되지 않도록 유의하세요. 게시글 또는 댓글에 개인정보가 포함된 내용이 있을 경우 게시물이 숨김처리 될 수 있습니다.
안녕하세요.
폭설로 피해는 없으셨는지요?
저는 운전하는 경로 주변에 너무 아름다운 광경이 펼쳐져서
가슴이 벅차올라 마구 사진을 찍어댔습니다.ㅎ
제목 그대로 한글 파일을 텍스트 파일, 옵션은 UTF-8로 변환하는 프로그램을 만들려고 합니다.
c#이구요. 버튼 누르면 텍스트박스에 입력된 경로의 한글파일을
일괄 텍스트파일로 변환하려고 합니다.
혹시 도움을 좀 주실 수 있으신지요?
아래처럼 했더니, 보안 경고 메시지 뜨고, 모두 변환 허용 선택했더니, 결과물 파일의 크기가 전부 0이 되네요.ㅠ
using HWPCONTROLLib;
using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using HwpAutomationAppLib;
namespace HwpToTextFile
{
public partial class Form1 : Form
{
private dynamic hwp; // HWP Automation Object
public Form1()
{
InitializeComponent();
Type hwpType = Type.GetTypeFromProgID("HWPFrame.HwpObject");
hwp = Activator.CreateInstance(hwpType); // HWP COM 객체 생성
}
private void btnTrans_Click(object sender, EventArgs e)
{
string folderPath = txtPath.Text; // 변환할 파일 경로
if (!Directory.Exists(folderPath))
{
MessageBox.Show("유효하지 않은 경로입니다.");
return;
}
string[] hwpFiles = Directory.GetFiles(folderPath, "*.hwp");
if (hwpFiles.Length == 0)
{
MessageBox.Show("HWP 파일이 없습니다.");
return;
}
foreach (string hwpFile in hwpFiles)
{
try
{
// HWP 파일 열기
hwp.Open(hwpFile, "HWP", "forceopen:true");
// 저장 경로 설정
string textFile = Path.ChangeExtension(hwpFile, ".txt");
// 텍스트 파일로 저장 (UTF-8 인코딩)
hwp.SaveAs(textFile, "TEXT", "code:utf8");
// 파일 닫기
hwp.Clear(1); // 1: Clear 모든 문서
}
catch (Exception ex)
{
MessageBox.Show($"파일 변환 중 오류 발생: {hwpFile}\n{ex.Message}");
}
}
MessageBox.Show("변환이 완료되었습니다.");
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (hwp != null)
{
hwp.Quit(); // HWP 종료
hwp = null;
}
}
}
}