[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에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 5276 | 2년 전 | 1331 | |||
| 5275 | 2년 전 | 1401 | |||
| 5274 | 기타 | 2년 전 | 815 | ||
| 5273 | JavaScript |
swallow
|
2년 전 | 1045 | |
| 5272 | node.js |
swallow
|
2년 전 | 742 | |
| 5271 | JavaScript |
swallow
|
2년 전 | 1495 | |
| 5270 | PHP |
swallow
|
2년 전 | 844 | |
| 5269 | node.js |
swallow
|
2년 전 | 679 | |
| 5268 | node.js |
swallow
|
2년 전 | 1208 | |
| 5267 | PHP |
swallow
|
2년 전 | 1588 | |
| 5266 | MySQL |
swallow
|
2년 전 | 1088 | |
| 5265 | PHP |
swallow
|
2년 전 | 2028 | |
| 5264 | JavaScript |
swallow
|
2년 전 | 858 | |
| 5263 | 기타 |
swallow
|
2년 전 | 2980 | |
| 5262 | 기타 |
swallow
|
2년 전 | 667 | |
| 5261 | node.js |
swallow
|
2년 전 | 1059 | |
| 5260 | JavaScript |
swallow
|
2년 전 | 1508 | |
| 5259 | node.js |
swallow
|
2년 전 | 728 | |
| 5258 | node.js |
swallow
|
2년 전 | 1741 | |
| 5257 | node.js |
swallow
|
2년 전 | 1292 | |
| 5256 | PHP |
swallow
|
2년 전 | 1938 | |
| 5255 | node.js |
swallow
|
2년 전 | 684 | |
| 5254 | PHP |
swallow
|
2년 전 | 3011 | |
| 5253 | node.js |
swallow
|
2년 전 | 675 | |
| 5252 | 정규표현식 |
swallow
|
2년 전 | 621 | |
| 5251 | node.js |
swallow
|
2년 전 | 876 | |
| 5250 | PHP |
swallow
|
2년 전 | 1110 | |
| 5249 | node.js |
swallow
|
2년 전 | 1059 | |
| 5248 | PHP |
swallow
|
2년 전 | 1409 | |
| 5247 | node.js |
swallow
|
2년 전 | 1014 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기