[Python] HWP 파일을 불러오기
리눅스 백엔드에서 HWP 파일을 처리하는 것은 상당히 골치아픈 일입니다.
다행히 Python에는 HWP 파일을 핸들링하는 모듈도 있습니다 ^^
1. Olefile
[code]
import olefile
f = olefile.OleFileIO('한컴파일.hwp') # HWP 파일 열기
encoded_text = f.openstream('PrvText').read() # PrvText 스트림의 내용 꺼내기
decoded_text = encoded_text.decode('UTF-16') # 유니코드를 UTF-16으로 디코딩
print(decoded_text)
[/code]
Olefile 모듈은 Microsoft OLE2 파일을 조작하기 위한 모듈로서
위와 같은 방법으로 한컴 HWP 파일도 불러올 수 있습니다 ^^
2. PyHWP의 HWP5TXT
[code]
from subprocess import Popen, PIPE
file = '한컴파일.hwp'
process = Popen(['hwp5txt', file], stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()
data = stdout.decode('utf-8')
print(data)
[/code]
PyHWP 모듈은 Olefile에 dependent하기 때문에
Olefile에서 제대로 불러오지 못하는 HWP 파일의 경우
PyHWP에서도 마찬가지로 잘 불러올 수 없다는 문제가 있습니다.
그러한 경우에 위와 같이 PyHWP 설치시 함께 설치되는 hwp5txt.exe 파일을 이용하면
대부분의 문제를 해결할 수 있습니다 ^^
다만 EXE 파일이므로 윈도우 환경에서만 실행 가능하다는 한계가 있습니다.
게시판 목록
개발자팁
질문은 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 5216 | 2년 전 | 950 | |||
| 5215 | 2년 전 | 1085 | |||
| 5214 | 2년 전 | 725 | |||
| 5213 | PHP |
swallow
|
2년 전 | 670 | |
| 5212 | PHP |
swallow
|
2년 전 | 1694 | |
| 5211 | PHP |
swallow
|
2년 전 | 1457 | |
| 5210 | PHP |
swallow
|
2년 전 | 2142 | |
| 5209 | PHP | 2년 전 | 692 | ||
| 5208 | JavaScript |
swallow
|
2년 전 | 833 | |
| 5207 | JavaScript |
swallow
|
2년 전 | 682 | |
| 5206 | JavaScript |
swallow
|
2년 전 | 605 | |
| 5205 | PHP |
|
2년 전 | 697 | |
| 5204 | 기타 |
techstar
|
2년 전 | 749 | |
| 5203 | JavaScript |
swallow
|
2년 전 | 576 | |
| 5202 | JavaScript |
swallow
|
2년 전 | 604 | |
| 5201 | JavaScript |
swallow
|
2년 전 | 670 | |
| 5200 | JavaScript |
swallow
|
2년 전 | 858 | |
| 5199 | JavaScript | 2년 전 | 619 | ||
| 5198 | 기타 |
swallow
|
2년 전 | 651 | |
| 5197 | PHP |
swallow
|
2년 전 | 731 | |
| 5196 | JavaScript |
swallow
|
2년 전 | 598 | |
| 5195 | PHP |
swallow
|
2년 전 | 2051 | |
| 5194 | PHP |
swallow
|
2년 전 | 612 | |
| 5193 | 기타 |
swallow
|
2년 전 | 663 | |
| 5192 | MySQL |
swallow
|
2년 전 | 1382 | |
| 5191 | JavaScript |
swallow
|
2년 전 | 1071 | |
| 5190 | PHP |
swallow
|
2년 전 | 1925 | |
| 5189 | MySQL |
swallow
|
2년 전 | 6184 | |
| 5188 | node.js |
swallow
|
2년 전 | 1041 | |
| 5187 | node.js |
swallow
|
2년 전 | 789 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기