작성
·
223
·
수정됨
0
일코님, 안녕하세요.
오랜만에 질문 올립니다.
여러 장이 있는 hwp파일의 첫 페이지부터 한 페이지 씩
1.hwp, 2.hwp, 3.hwp, ... 로 저장하는 코드를 작성해 보았는데요.
한 가지 문제점만 빼면 원하는 대로 작동합니다.
한 가지 문제점은, 코드 실행 후 저장된 1.hwp 파일 속에 1페이지가 아닌 전체 페이지가 들어가 있다는 점입니다.
그거 외에 다른 페이지는 문제 없이 작동되고 있습니다.
이거 왜 그럴까요?
코드를 반복해서 살펴봐도,
논리적으로는 저장되는 1.hwp 파일에는 원본파일의 첫 페이지만 들어가 있어야 할 거 같은데.. 그렇게 안되는 이유가 궁금합니다.
전체 코드는 아래와 같습니다.
import os
from pyhwpx import Hwp
hwp = Hwp()
target_dir = r"D:\magicfolder"
os.chdir(target_dir)
hwp.add_tab()
hwp.switch_to(0) # 탭0: 카피해 올 원본 파일용
hwp.open("D:\magicfolder\페이지분할대상.hwp")
hwp.switch_to(1) # 탭1: 한 페이지씩 붙여서 저장할 일종의 작업공간
hwp.open("D:\magicfolder\페이지분할대상.hwp")
hwp.switch_to(0)
for j in range(1, hwp.PageCount + 1):
hwp.goto_page(j)
hwp.CopyPage()
hwp.switch_to(1)
hwp.HAction.Run("SelectAll")
hwp.HAction.Run("Delete")
hwp.MoveDocBegin()
hwp.PastePage()
# 바로 위에서 hwp.PastePage()할 때 페이지가 넘어가서 붙으므로, 앞 페이지로 당겨 붙이기 위해서 맨 위 페이지로 커서 옮기고 Del 2번 해 준 것임.
hwp.MoveDocBegin()
hwp.HAction.Run("Delete")
hwp.HAction.Run("Delete")
hwp.save_as(target_dir + "\\" + str(j) + ".hwp")
hwp.switch_to(0)
hwp.Close()
hwp.FileClose()
코드를 많이 짜봐야 늘텐데 정말 오랜만에 시도해 본 거 같습니다. ^^ㅋ
답변