인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

bls님의 프로필 이미지

작성한 질문수

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

질문을 남겨주세요.

표안의 특정 필드에 있는 이미지를 복사하여 한글 외부에 저장하기

해결된 질문

작성

·

67

1

질문 남겨주셔서 감사합니다.

막히면 언제든 무엇이든 자주 질문 던져주세요.

수학/과학이나 알고리즘과는 달리

업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다.

다시 말씀드리지만, 질문을 자주자주 남겨주세요.

저도 최대한 빠르게 회신 드리겠습니다.

당부드릴 두 가지가 있습니다.

① 가급적 구체적으로 설명해주세요.
② 특정 챕터 관련 질문 남겨주실 때는,
어느 챕터인지 알려주세요ㅜ

====================================

 

 표안의 각 필드에 저장된 텍스트는 쉽게 가져올 수 있는데 이미지는 어떻게 가져올 수 있나요. 해당 필드를 선택한 후 복사하기를 하면 한글내의 원하는 위치에 복사가 되지만 윈도우 그림판에는 복사가 안됩니다. 지금은 마커 이미지를 사용해 이미지검색을 통하여 해당 필드의 이미지를 클릭하고 복사하기 후 붙여넣기 방식으로 처리하는데 정확도가 떨어집니다. 특정 필드에 있는 이미지를 쉽게 복사해 오고 싶습니다. 좋은 방법이 있는지요?

답변 2

1

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

혹시 "복사"란 게 파일로 저장하기를 말씀하시는 건가요?

혹시 다른 문서에 붙여넣기하거나 "클립보드"로 복사하는 등 다른 작업이라면 추가댓글 남겨주세요ㅎ

 

우선은 해당 한/글 문서를 열어놓은 상태로

아래 코드를 실행해서 아래아한글을 실행해줍니다.

from pyhwpx import Hwp

hwp = Hwp()

우선, 이미지를 저장하려면 어찌됐든 "찾아가서", "저장" 해야 합니다.

다행히 각각 셀필드가 있다고 하시니

hwp.move_to_field("이미지가들어있는필드명")을 실행하셔서 필드로 커서를 옮기신 후에,

hwp.SelectCtrlFront()명령어로 이미지를 선택합니다.

(셀 하나에 이미지 하나라면 사실 ②는 생략하셔도 됩니다.)

hwp.save_image(f"./{필드명}.png") 명령어로 이미지를 저장합니다.

만약에 클립보드로 복사하시겠다면 hwp.save_image 대신 hwp.Copy()를 실행하시면 되고,

다른 문서에 붙여넣으시려면 hwp.Copy() 대신 아래처럼

 

# 위 코드로 이미지를 선택한 상태에서
img = hwp.GetTextFile("HWP", option="saveblock:true")

# 붙여넣기할 문서의 셀에 커서를 둔 채로
hwp.SetTextFile(img, "HWP")

이런 식으로 클립보드를 쓰지 않고, 문자열로 붙여넣기도 가능합니다.

 

혹시 추가질문 있으시면 댓글을 남겨주세요.

제가 다소 막연하게 이해한 부분이 있는 것 같아서^^;

막연한 설명을 붙이기보다는,

추가댓글을 읽고 구체적으로 회신을 드리겠습니다.

 

행복한 하루 되세요!!!~

1

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

안녕하세요, 인프런 AI 인턴입니다. bls님 질문에 대한 도움을 드리고자 합니다.

한글 문서 내 특정 필드의 이미지를 외부로 저장하기 위해서는 Python과 한글을 자동화할 수 있는 pyhwpx 라이브러리를 활용할 수 있습니다. 이 라이브러리에는 직접 이미지 개체를 식별하고 복사 또는 저장할 수 있는 메서드가 포함되어 있습니다.

기존에 관련된 질문과 답변을 참조하시길 권해드립니다. 이전 질문들 중에서 유사한 상황에 대한 해결 방법이 제시된 답변이 있습니다:

  1. 한글 문서에 그림을 저장하는 방법: 이 답변에서는 pyhwpx 모듈을 업데이트하여 hwp.save_image 메서드를 통해 이미지를 저장하는 방법을 설명합니다. 직접 순회하며 이미지를 식별하여 저장하는 코드 예시도 제시되어 있습니다.

  2. 필드 안의 이미지 저장: 한글 문서에서 필드로 이동한 후 이미지를 삽입하는 방법을 설명합니다. 이 과정과 유사하게 필드에서 이미지를 추출할 수도 있습니다.

기본적으로 이미지가 포함된 컨트롤(필드)을 식별하여 hwp.CurSelectedCtrl 옵션을 사용하여 이미지를 외부 파일로 저장할 수 있습니다. 또한, 직접 이미지를 클릭하지 않고 프로그래밍적으로 수행할 수 있는 방법을 제공하므로 정확도를 개선할 수 있습니다.

질문하신 내용에 대한 해결책으로 제공된 방법을 활용해보시고, 더욱 구체적인 코드 예시가 필요하시다면 추가 질문을 주시면 좋겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

bls님의 프로필 이미지

작성한 질문수

질문하기