PDF저장시 메시지

MFC(Visual Studio C++)환경입니다.
HWP 오토메이션을 사용합니다.

한글 파일을 열어서 PDF를 저장하려고 합니다.
일반 문서를 BOOL Saves(LPCTSTR path, VRINT& Formt, Varint& arg)
함수를 사용해서

Saveas(lpszPath, “PDF”, “lock;false;”);을 호출하면,
정상적으로 pdf이 생성됩니다.

하지만 외부 DRM(암호화 프로그램, 어떤 DRM인지 공개하지 않습니다. )을 사용한 환경에서
암호화된 hwp파일로부터 pdf저장을 실행하면,
"지원하지 않는 확장자로 오픈이 불가능합니다."라는 "한글 오피스"의 메시지창이 뜹니다.

그 동안(약 4주)은 DRM문제로 판단하면서 진행했었는데,
DRM 담당자 말에 의하면,
한글 오피스 자체로 A.hwp파일을 열고 B.hwp파일로 "다른 이르으로 저장"을 하면 한글 오피스는 B.hwp파일을 연 상태로 바뀐다고 합니다.
SaveAs함수에도 동일한 시나리오로 동작하고 있어서 한글 오피스에서 pdf파일을 열려고 시도하면서 메시지창을 뜬다고 안내해주셨습니다.
그래서 함수 파라미터에서 Saveas(lpszPath, “PDF”, “lock;false;export”);로 바꿔서 실행해보았고 동일한 상황입니다.

저희 입장에서는 DRM환경에서 암호화된 문서만 동작하기 때문에 DRM문제로 판단되기도 하고,
메시지 자체가 한글 오피스의 메시지이기 때문에, 한글 오피스 문제로 판단되기도 합니다.
해당 문제에 대한 검토 부탁드립니다.

한글 오피스 2022는 정상이고 한글오피스 2018 에서 발생합니다.
세부 버전은 24년 1월 최신입니다.
10.0.0.13764

안녕하세요.

외부 환경의 요소에 의해 발생하는 문제라서 내부에서 원인 분석을 할 수가 없습니다.
보통 DRM에서는 CreateFile과 같은 Win32 API를 후킹하면서 파일 암/복호화를 처리해줍니다.
한컴오피스 앱에서는 이 과정을 개입하지 않기 때문에 저희가 답변드릴 수가 없습니다.

"DRM 담당자 말에 의하면,
한글 오피스 자체로 A.hwp파일을 열고 B.hwp파일로 "다른 이름으로 저장"을 하면 한글 오피스는 B.hwp파일을 연 상태로 바뀐다"라는 답변은 반은 맞고, 반은 틀립니다.

한글 앱에서 다루는 메인 포맷인 hwp, hwpx인 경우에는 다른 이름으로 저장할 경우 저장한 파일을 가리킵니다.
(이전 파일의 Lock을 풀고, 저장한 파일에 Lock을 건다 는 표현이 더 정확할 겁니다.)
단, PDF와 같은 외부 포맷인 경우에는 지정한 경로로 문서만 저장시킵니다.

이 현상은 DRM 업체와 확인해보셔야 할 것 같습니다. :sob:

감사합니다.

Pdf파일 형태로 SaveAs함수를 호출하면 호출후,pdf파일을 열려고 시도하지 않는다는 의미인거 같습니다.

그럼에도 불구하고 해당함수를 호출하면 "한글 오피스"의 "지원하지 않는 확장자로 오픈이 불가합니다."는 메시지가 나옵니다.
Pdf파일을 열려고 하는것으로 추정됩니다.

이유가 궁금합니다.

@user106 님,
“지원하지 않는 확장자로 오픈이 불가합니다.” 오류 문구는 오피스에서 정의하고 있지 않습니다.
화면 캡쳐 이미지나 메시지 문구를 알려주시면 다시 확인해보겠습니다.

(경험상 S사 DRM의 경우에는 한글 오토메이션 API을 응용하는 동작들이 포함되기 때문에 한글 UI의 메시지박스를 띄우기도 합니다.)

메시지 박스 띄우는 예제 (C++)

CHwpObject hwpobject;
CXHwpMessageBox msgbox

msgbox = hwpobject.get_XHwpMessageBox();
msgbox.put_Flag(MB_OK);
msgbox.put_string(L"블라블라");
msgbox.DoModal();

감사합니다. :grinning:

2개의 좋아요

20240401
오류 메시지 공유합니다. 보시는 것처럼 메시지창의 상단에 "한글"이라고 나와 있습니다.

한글 앱에서 정의한 메시지가 아닙니다.
한컴오피스에서 정의하는 오류 문구에는 “오픈”, "불가능"와 같이 외래어나 정제되지 않은 단어를 사용하지 않거든요.

제가 위에서 작성한 방식으로 메시지 박스를 띄워도 “한글” 캡션이 나옵니다.

20240405_151739

DRM 업체에 확인해보시고 다시 문의 부탁드립니다.
도움드리지 못해서 죄송합니다. :sob:

감사합니다.

1개의 좋아요

해당 DRM 고객사에서 S사가 SA사인 것으로 의심을 하고 있어서 확인을 부탁드립니다.
SA사인지, SO사인지 아니면 다른 업체(다른 이니셜)인지 알고 싶습니다.

안녕하세요 ^^
레지스트리에서 아래 경로를 확인해보시면 어떤 DRM을 사용하는지 확인이 가능할것 같습니다.

“컴퓨터\HKEY_CURRENT_USER\Software\HNC\HncDRM\Modules”

감사합니다~!

그 의미가 아니고 상단에

라고 쓰신 글이 있는데, 그 S사 DRM이 SA사인지 SO사인지 여쭈어 보고 있습니다.
저희 환경에서 쓰는 DRM이 뭔지는 저희도 알고 있습니다.

1개의 좋아요

답글을 부탁드립니다. 아직 답글을 받지 못 했습니다.

1개의 좋아요

@user106 님,
업체가 지금도 같은 방법을 사용한다고 보장할 수 없고, 지금은 확인되지 않아 오해가 생길 수 있어서 업체명을 언급하는 것은 적절하지 않은 것 같습니다.
그리고 한글오토메이션 포럼은 오토메이션 API 사용 방법을 공유하는 자리이니
되도록이면 문제/이슈 해결이나 기술 지원이 필요한 것이 있으면 고객지원센터로 문의 부탁드립니다.

도움드리지 못해서 죄송합니다. :sob:
감사합니다.