프로그래밍 언어/python

[win32com] python으로 pptx 파일 다루기(2) - PPT 요소에 있는 데이터 접근하기

이현찬 2022. 10. 23. 18:23
728x90

pptx 파일에 문자열 데이터는 text box와 table 형태로 저장될 수 있다. 두 형태 모두 비슷한 경로로 접근해 데이터를 가져올 수 있다.

Textbox

글 상자에 존재하는 데이터를 읽는 방법은 textbox shape object에 접근하고 그 안에 있는 TextFrame, TextRange 순으로 접근해 Text 내용을 불러올 수 있다.

TextFrame은 text 데이터, text의 양식 property, 양식을 조작할 수 있는 method를 포함하는 object이고, TextRange는 text 데이터와 그 데이터를 조작할 수 있는 method를 포함하고 있는 object이다. slide 내에 text 데이터를 가진 shape의 구조는 아래와 같이 생각할 수 있다.

# pptx 파일에서 text 데이터에 접근하는 경로
#pptx파일.슬라이드.셰이프.TextFrame.TextRange.Text
>>> presentation.Slides(2).Shapes('Title 1').TextFrame.TextRange.Text
ppt shape 내 text 데이터까지의 구조

Table

테이블은 각각 cell을 Shape로 생각한다. Table shape에 접근한 후 정보를 얻고자 하는 cell을 행과 열 정보로 접근한다. 이때 접근한 cell을 다시 TextFrame object를 가진 shape로 생각하고 접근하면 된다.

ppt table shape의 데이터까지의 구조
# pptx 파일에서 table에 있는 text 데이터에 접근하는 경로
# pptx파일.슬라이드.셰이프.Table.Cell.Shape.TextFrame.TextRange.Text
>>> presentation.Slides(2).Shapes('표 4').Table.Cell(1,1).Shape.TextFrame.TextRange.Text