hwpObject 관련 HTML 저장에서 궁금한점이 있습니다.

한글2018 버전에서 Automation 을 통해 SaveAs 로 HTML 형식을 저장했는데,
한글2018을 직접 열어 HTML 형식으로 저장하는 것과 결과물에 차이가 있습니다.

직접 저장 시, 스타일 파일이 따로 분리되고 레이아웃이 용지크기로 설정되는데
Automation 을 통해서도 같은 방식으로 저장할수는 없을까요?

hwpObject.SaveAs(path, “HTML”) 을 사용해봤고
FileSaveAs Action 을 통해서도 해보았는데 둘 다 원하는 형태가 아니었습니다.

1개의 좋아요

안녕하세요.

한글2018 상위 버전부터는 2종류의 HTML 형식을 제공하고 있습니다.

⓵ 인터넷 문서(*.htm)
→ 한글 문서의 데이터를 HTML로 저장하기 위한 용도
→ 레이아웃 보다는 데이터 위주라서 레이아웃의 유사도는 낮음
→ [환경 설정 > 파일 > 저장 파일 형식에 인터넷 문서(*htm) 추가] 체크하면 저장하기 대화상자에서 표시가 됨
→ API에서는 “HTML” Format으로 저장하는 것과 동일
hwpObject.SaveAs(path, “HTML”)

⓶ 서식 있는 인터넷 문서 (*.html)
→ 한글 문서의 레이아웃을 HTML로 표현하기 위한 용도
→ 한글에서 보는 그대로 HTML으로 보여주기 때문에 레이아웃의 유사도가 높음
→ 저장하기 대화상자에서 기본으로 표시되는 형식이고, 아마도 이 HTML 형식과 비교했을 것 같습니다.
→ API로는 제공하지 않고 통합문서뷰어와 같은 솔루션 제품이나 SDK의 기능으로 제공

감사합니다.

1개의 좋아요

SaveAs(path, Format="HTML+")로 저장해보시기 바랍니다. 페이지 레이아웃을 유지하여 html을 생성합니다.

단, 페이지별로 개별저장할지 물어보는 팝업이 뜨는데, 이 부분을 직접 처리해주셔야 합니다.

파이썬 pyhwpx를 통해
아래의 간편한 명령어로
"HTML+"포맷으로 변환하실 수 있습니다.

from pyhwpx import Hwp

hwp = Hwp()
hwp.open(src)
hwp.save_as(path=dst, format="HTML+", split_page=False)

실행결과는 아래와 같습니다.
녹화_2024_08_31_13_07_55_830
샘플문서 :
html+_sample.hwp (87.5 KB)

https://blog.naver.com/pythonrpa/223567246440

도움이 되었길 바랍니다ㅎ
행복한 하루 되세요!