이 범주에서는 한글 오토메이션에 대한 다른 사용자의 기술 지원을 제공받을 수 있습니다.
파이썬에서 아래와 같이 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}")