300x250
python을 사용해서 Office 문서에서 이미지를 추출하는 코드를 작성해보겠습니다.
docx/pptx/xlsx를 기준으로 작성을 진행하며, doc/ppt/xls 파일은 이전 작성 글을 참조해서 변환하는 코드를 추가해서
작성하시면 됩니다.
https://incorea.tistory.com/152
import zipfile
import docx2txt
def unzip_xfile(file_path, save_path):
with zipfile.ZipFile(file_path, 'r') as zip_ref:
zip_ref.extractall(save_path)
def extract_images_from_pptx(file_path, save_path):
unzip_xfile(file_path, save_path)
return
def extract_images_from_xlsx(file_path, save_path):
unzip_xfile(file_path, save_path)
return
def extract_images_from_docx(file_path, save_path):
docx2txt.process(file_path, save_path)
return
1. pptx 파일로부터 unzip 후 media 폴더에서 이미지 추출
2. xlsx 파일로부터 unzip 후 media 폴더에서 이미지 추출
3. docx 파일로부터 docx2txt.process 호출해서 이미지 추출
4. docx 파일로부터 unzip 후 media 폴더에서 이미지 추출도 가능
docx/pptx/xlsx 포맷은 zip형태로 압축되어 있어서 확장자를 zip으로 rename처리 후 압축을 풀면 pptx 기준으로
ppt폴더 하위에 media 폴더에서 저장된 이미지 파일들 확인할 수 있습니다.
엑셀/워드 문서도 media 폴더에서 저장된 이미지 파일들을 추출할 수 있습니다.
300x250
'Python' 카테고리의 다른 글
python office automation으로 열려진 워드의 문서 민감도 레이블 설정 (set sensitivity label) (0) | 2023.05.02 |
---|---|
AttributeError: module 'win32com.gen_py.' has no attribute 'CLSIDToClassMap' (0) | 2023.05.02 |
python을 사용해서 오피스 문서 포맷 변환 (0) | 2023.04.06 |
ImportError: DLL load failed while importing win32api: 지정된 모듈을 찾을 수 없습니다. (0) | 2022.02.05 |
Python zip 함수 (0) | 2019.07.17 |