파이썬으로 InsertPicture를 사용한 HWP → PDF 변환

이 범주에서는 한글 오토메이션에 대한 다른 사용자의 기술 지원을 제공받을 수 있습니다.

파이썬에서 아래와 같이 InsertPicture 를 사용하는데 워터마크 삽입이 안되는데
API가 지원이 안되는건지 질문 드립니다

import win32com.client as win32
import os

# 한/글 실행 및 COM 객체 생성
hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject")

# 기존 HWP 문서 열기
hwp_file_path = "C:\\Users\\User\\Desktop\\example.hwp"
hwp.Open(hwp_file_path)

# 워터마크로 사용할 이미지 파일 경로
watermark_path = "C:\\Users\\User\\Desktop\\watermark.png"

# 문서의 첫 번째 페이지로 이동
hwp.HAction.Run("MoveTopLevelBegin")

# InsertPicture 사용하여 워터마크 이미지 삽입
hwp.HAction.GetDefault("InsertPicture", hwp.HParameterSet.HInsertPicture.HSet)
hwp.HParameterSet.HInsertPicture.FileName = watermark_path  # 삽입할 이미지 경로
hwp.HParameterSet.HInsertPicture.Width = 200  # 이미지 너비 (단위: mm)
hwp.HParameterSet.HInsertPicture.Height = 100  # 이미지 높이 (단위: mm)
hwp.HParameterSet.HInsertPicture.Brightness = 50  # 밝기 조정
hwp.HParameterSet.HInsertPicture.Transparency = 70  # 투명도 (0: 불투명 ~ 100: 완전 투명)
hwp.HAction.Execute("InsertPicture", hwp.HParameterSet.HInsertPicture.HSet)

# 삽입한 이미지의 위치 조정 (페이지 중앙 정렬)
hwp.HAction.Run("ShapeObjSelect")  # 방금 삽입한 그림 선택
hwp.HParameterSet.HShapeObjControl.HSet.SetItem("HorzAlign", 1)  # 가로 중앙 정렬
hwp.HParameterSet.HShapeObjControl.HSet.SetItem("VertAlign", 1)  # 세로 중앙 정렬
hwp.HAction.Execute("ShapeObjControl", hwp.HParameterSet.HShapeObjControl.HSet)

# PDF 변환 실행 (출력 파일 경로 설정)
pdf_save_path = os.path.splitext(hwp_file_path)[0] + "_watermarked.pdf"
hwp.HAction.GetDefault("FileSaveAsPdf", hwp.HParameterSet.HFileOpenSave.HSet)
hwp.HParameterSet.HFileOpenSave.filename = pdf_save_path  # PDF 저장 경로 설정
hwp.HParameterSet.HFileOpenSave.Format = "PDF"  # 저장 형식 PDF 설정
hwp.HAction.Execute("FileSaveAsPdf", hwp.HParameterSet.HFileOpenSave.HSet)

# 한/글 종료
hwp.Quit()

print(f"PDF 변환 완료: {pdf_save_path}")

안녕하세요
개발 가이드 | 한컴디벨로퍼 를 참고하시여 개발 하시는 게 좋을 것 같습니다.

InsertPicture 사용하여 워터마크 이미지 삽입

InsertPicture API를 사용하는 게 좋을 것 같습니다.
예를 들면 hwp.InsertPicture(watermark_path,True, 0, False, True, 0, 200, 100) 이런 식으로 필요한 파라미터를 변경하면서 사용하시면 좋을 것 같습니다.

삽입한 이미지의 위치 조정 (페이지 중앙 정렬)

FindCtrl API(hwp.FindCtrl() ) 로 삽입한 이미지를 선택한 후에 HShapeObject에서 속성 변경하시면 좋을 것 같습니다.

PDF 변환 실행 (출력 파일 경로 설정)

hwp.SaveAs(pdf_save_path,"PDF","") 이런 식으로 SaveAs API를 사용하면 좋을 것 같습니다.

감사합니다.