jerry
1
-
hwp 파일을 여는 문제가 있습니다. 아래 그림처럼 open시 접근 허용관련 팝업 메세지가 나옵니다.
이것도 setMessageBox 로 제어가 가능한가요? 가능하면 어떤 롱값을 넘겨야 하나요?

-
pdf 로 변환하는 작업이 가능한지 여쭤보고 싶습니다.
c# form 관련 개발이 아니고 consolApp 라이브러리 개발이라 event 함수들을 사용할 수 없습니다.
※ HwpObjectClass.fileTranslate 기능이 궁금합니다. 개발 관련 pdf 파일들에서도 찾아 볼 수 가 없습니다…
변환 시도한 소스 첨부하겠습니다.
try
{
HwpObjectClass hwp = new HwpObjectClass();
object format = Type.Missing;
object arg = Type.Missing;
hwp.Open(inputHwpPath, format, arg);
hwp.SetMessageBoxMode(0x00000001);
hwp.SaveAs(outputPdfPath, "HWPToPDF", arg);
} catch (Exception e)
{
Console.WriteLine(e.Message);
}
안녕하세요 ^^
-
개발 가이드에서 "보안 승인 모듈 " 관련 확인하시면 될것 같습니다 ^^
2.> SaveAs 에서는 HWPToPDF 를 지원하지 않습니다. api 확인해보니 따로 없어 pdf로 프린트 방식으로 저장해야하지 않을까 싶습니다.
감사합니다~!
jerry
5
보내주신 문서랑 포럼에 있는 다른 소스 참고 하여 작성해 봤는데
public static void Main(Dictionary<string, string> newArgs)
{
Console.WriteLine("Convert Hwp to PDF File!");
string inputHwpPath = newArgs["inputFilePath"];
string outputPdfPath = newArgs["outputFilePath"];
try
{
HwpObject hwp = new HwpObject();
object format = Type.Missing;
object arg = Type.Missing;
hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModuleExample");
hwp.Open(inputHwpPath, format, arg);
var act = (HAction)hwp.CreateAction("Print");
var paramSet = (HParameterSet)hwp.HParameterSet;
var print = (HPrint)paramSet.HPrint;
var set = (HSet)print.HSet;
set.SetItem("PrintToFile", true);
set.SetItem("Filename", outputPdfPath);
set.SetItem("Device", 3);
act.Execute("Print", paramSet);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.Write("Converted pdf File");
}
var act = (HAction)hwp.CreateAction(); 부분에서 캐스팅 할 수 없다는 오류가 뜨네요… 해결할 수 있는 방법이 있을까요?
안녕하세요 ^^
IDHwpAction, IDHwpParameterSet 인터페이스 이용해주시면 됩니다.
감사합니다.
IDHwpAction act = myHwpObj.CreateAction("Print");
IDHwpParameterSet set = act.CreateSet();
act.GetDefault(set);
set.SetItem("PrintDevice", "Printer");
act.Execute(set);
jerry
7
와 감사합니다.
드디어 프린터 호출이 된것을 확인했습니다.
그런데 ‘인쇄할 쪽 번호가 없습니다.’ 라는 오류창이 뜨는데 이건 어떻게 해결 할 수있나요?
set에 item을 더 추가 해야 하나요? 아니면 hwp 파일이 잘못된것인가요?
=> 해결 방법을 찾아서 수정하였습니다.
print 하는 경우 ‘다른 이름으로 프린터 출력 저장’ 팝업이 나오는데
set.SetItem(“Filename”, output);
위 명령어로 처리가 불가능 한건가요?
=>파라미터가 Filename이 아니고 FileName이었네요 감사했습니다. 도움 주셔서
1개의 좋아요