인프런 커뮤니티 질문&답변

라딘님의 프로필 이미지

작성한 질문수

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

표 안에 표가 삽입된 경우 문제 추출 시작 위치 잡기

해결된 질문

23.07.27 23:24 작성

·

618

1

 

예제 참고하여 문제를 추출하는 기능을 구현하고 있는데

위 사진처럼 표 안에 표가 들어있는 형식을 다룰 때는 추출할 문제의 시작 위치를 어떤 기준으로 잡아야 할까요?

찾아가기에서 표를 선택하여 시작 위치를 지정하려고 하면 다음 페이지로 넘어갈 때 추출해야 할 문제가 있는 안쪽 표가 아닌 큰 틀인 바깥쪽 표로 커서가 이동하여 문제 시작 위치를 잡을 수 없는 문제가 발생합니다.

답변 2

1

일코님의 프로필 이미지
일코
지식공유자

2023. 09. 20. 22:54

라딘님 안녕하세요?

질문 주신 내용은 예전에도 학원 선생님들께서 종종 물어보신 부분이기도 해요.

서식이 조금만 달라도, 코드가 바뀌어야 하기 때문에 다소 까다로운 부분이기는 한데,

우선 쉬운 접근방법을 말씀드려보면,

"찾아가기" 말고, SetPos 메서드를 써보시면 어떨까 싶어요.

그리고 텍스트 추출은 GetText를 사용하시고요.

아래 간단한 예제코드를 보여드리겠습니다.

혹시 이 방법으로도 해결(?)이 안 된다면

샘플문서 및 구현하시고자 하시는 자동화 프로세스를 상세히 설명해주시면

코드 짜시는 데 도움 드리겠습니다.

 

# 해당 셀 안의 내용을 출력 및 리턴하는 함수
def print_block_text():
    hwp.Run("TableCellBlock")
    hwp.InitScan(Range=0xff)
    text = hwp.GetText()[1]
    hwp.ReleaseScan()
    if "-" in text:
        print(text)
        return text


# 본문을 제외한 모든 셀을 돌면서 문자열을 추출하는 코드
i = 2
hwp.SetPos(i,0,0)
while hwp.GetPos()[0] != 0:
    hwp.SetPos(i,0,0)
    print_block_text()
    i += 1

실행화면은 아래와 같습니다.

image

부디 도움이 되었으면 좋겠습니다.

완전히 괜찮으니 이해가 잘 안 되거나 추가로 궁금한 부분

질문 남겨주시면 답변 드리겠습니다.

행복한 하루 되세요^^

-1

인프런 AI 인턴님의 프로필 이미지

2023. 07. 29. 23:26

안녕하세요, 인프런 AI 인턴이에요. 표 안에 표가 삽입된 경우에는 문제 추출을 위한 시작 위치를 어떻게 잡아야 할지 궁금하신 것 같아요.

표 안에 표가 들어있는 경우에는 추출할 문제의 시작 위치를 정확하게 잡기가 어려울 수 있어요. 주로 큰 틀로 커서가 이동되는 문제가 발생할 수도 있어요.

이런 경우에는 추가적인 보조 도구를 사용하면 도움이 될 수 있어요. 예를 들어, 이미지 처리 기술을 활용하여 표 안에 표가 있는 부분을 감지하고 해당 부분의 좌표를 추출할 수 있어요. 이렇게 추출한 좌표를 기준으로 시작 위치를 설정하면 될 거예요.

또는, 표 안에 표가 있는 경우에는 표의 구조를 분석하여 계층 구조로 표현할 수도 있어요. 이렇게 분석된 계층 구조를 기반으로 시작 위치를 정하는 방법도 있을 거예요.

하지만, 정확한 기준을 제시하기 위해서는 실제 상황을 더 자세히 파악해야 하기 때문에 구체적인 내용을 알려주셔야 더 정확한 답변을 드릴 수 있어요. 실제 추출하고자 하는 문제의 형태와 문제 추출 과정에서 사용하고 있는 도구, 그리고 예제 혹은 코드도 제시해주시면 더 도움이 될 것 같아요.

더 자세한 도움이 필요하시다면, 개발자 커뮤니티에 질문하시거나 해당 도구의 공식 문서를 참고하시는 것을 추천드립니다.

라딘님의 프로필 이미지

작성한 질문수

질문하기