꿈 많은 사람의 이야기
파이썬 pdf 파일 읽기(pdfminer 설치) 설치부터 예제까지 본문
프로그램을 하다 보면 파일 입출력 뿐 아니라
pdf 파일, 워드 파일 등을 읽을 필요성이 있습니다
워드 파일은 굳이 아직 따로 찾아보질 않아서 모르겠네요
아마 있는 걸로 알고 있습니다
그리고 당연히 파이썬에서도 PDF 파일을 읽는 방법이 있습니다
pdfminer를 이용하면 되는데요
pdf 파일을 읽는 방법 설치부터 예제까지 살펴보죠!
파이썬 pdf 연동 방법에 대해 설치 방법을 구글에 치면 다양한 방법이 나오는데요
뭐가 다 제대로 되질 않더라구요
설치가 되질 않거나, 설치가 되어도 예제가 되질 않거나..
패키지만 한 3~4개 설치한 것 같은데 다 안됐습니다..
근데 이 방법 하니까 pdf 파일을 읽을 수 있었습니다
pdfminer 를 설치하는데요
그냥 pip3 install pdfminer를 입력하면 되질 않습니다.
근데 pip3 install pdfminer.six 라고 치면 됩니다
버전? 인 것 같기도하고요
아무튼 설치합니다. 그러면 잘 되실거에요
그리고 아래와 같은 소스를 입력해봅니다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from pdfminer.pdfpage import PDFPage from io import StringIO def convert_pdf_to_txt(): #pdf리소스 매니저 객체 생성 rsrcmgr = PDFResourceManager() #문자열 데이터를 파일처럼 처리하는 stringio -> pdf 파일 내용이 여기 담김 retstr = StringIO() codec = 'utf-8' laparams = LAParams() device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams) fp = open('1.pdf', 'rb') interpreter = PDFPageInterpreter(rsrcmgr, device) password = "" maxpages = 0 caching = True pagenos=set() for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True): interpreter.process_page(page) #text에 결과가 담김 text = retstr.getvalue() fp.close() device.close() retstr.close() return text v = convert_pdf_to_txt() print(v) |
아마 중간 중간 소스가 필요 없는 것이 있을거에요
저도 일단 긁어와서 사용한 것이라서 잘 모르겠네요
대략적인 방법은 이런 것 같았습니다
PDF를 읽는 매니저를 가지고 옵니다.
그리고 문자열을 파일 처럼 처리하는 stringio를 이용합니다. 이것을 이용해서 pdf 내용을 담아둡니다.
좀 더 공부를 해야겠네요
세부적인 것은 이해가 잘 안되네요
일단 되는지 안되는지 보죠!
저는 1.pdf 파일을 기준으로 진행하는데요
1.pdf 내용은 위와 같습니다
테스트라서 그냥 아무렇게나 썼습니다
저 프로그램을 실행하면!
이렇게 출력이 됩니다
기능적인 것은 되는군요
소스 내용이 이해가 안가서 그렇지 ㅠㅠ
'python' 카테고리의 다른 글
파이썬 PyQt5 gui 배경 색깔 및 이미지 등 스타일과 디자인 - 1 (0) | 2018.03.13 |
---|---|
파이썬 업무 자동화 맛보기(파이썬으로 pdf를 엑셀로 업무 자동화) (2) | 2018.02.14 |
파이썬 pdf 파일 읽기(pdfminer 설치) 설치부터 예제까지 (12) | 2018.02.14 |
지진 알람(지진 알림) 만들어보기 - 파이썬을 이용 (0) | 2018.02.13 |
파이썬으로 지진 알람(경보) 만들어보기(지진 알림, 지진 알람) (0) | 2018.02.12 |
IT 봉사 - 파이썬 GUI(pyqt5)로 교회 재정프로그램(화도사랑의교회) 개발8 (0) | 2018.02.09 |
- Tag
- IT, PDF, pdf 읽기, pdf 파일 읽기, pdf 파일 입출력, pdfminer, python pdfminer, 개발, 공부, 백수, 취미, 취업, 취업하고싶다, 코딩, 파이썬, 파이썬 pdf, 파이썬 pdf 읽기, 파이썬 pdf 파일, 파이썬 pdfminer, 파이썬 공부
-
derb 2018.12.16 21:53 주피터 파이썬 3에서도 이 방법으로 pdfminer가 작동되나요?
-
이수진의 블로그 이수진의 블로그 2018.12.19 15:13 신고 주피터 환경에서는 잘 모르겠습니다. 시도 해보지 않아서요 ㅠ
-
혜성 2019.03.06 06:36 for page in PDFPage.get_pages(fp,pagenos, maxpages = maxpages, password = password, caching = caching
interpreter.process_page(page)
이부분 코드 짤린거 같아요 ㅠㅠ -
이수진의 블로그 이수진의 블로그 2019.03.06 10:59 신고 그런가요??제 기억이 맞다면 풀 코드를 전부 올렸었는데요 흠..
-
euphoria 2019.05.29 00:17 좋은 정보 정말 감사합니다 ㅠㅠ
-
이수진의 블로그 이수진의 블로그 2019.05.29 06:36 신고 감사합니다 ~
-
euphoria 2019.07.03 23:09 안녕하세요... 그새 까먹고 또 엄청 헤매다 다시 찾아와서 해결했습니다.. ㅋㅋㅋㅋ 감사합니다 ㅠㅠㅠㅠㅠ 스크랩해가도 될가요..?
-
이수진의 블로그 이수진의 블로그 2019.07.04 06:43 신고 네 ㅎㅎ 출처만 남겨주셔요~
-
호물리스 2019.06.18 14:32 안녕하세요 알려주신대로 실행해봤는데
소스코드 그대로 적고 디버깅 해보니깐
Undefined variable 'win32com 이거 계속 뜨는데 어떻게 해야해요? ㅠㅠ -
이수진의 블로그 이수진의 블로그 2019.06.18 15:06 신고 안녕하세요 ~ 음.. 처음 보는 오류이네요 ㄷㄷ 정확한 오류를 구글에 쳐보셔서 검색하시는 것이 나을 것 같아요 ~
-
gogo 2020.09.04 22:54 .py 파일 자체를 실행하면 한글정보도 잘 추출이되는데
pyinstaller 로 exe파일을 만들면 한글이 아예안뽑히더라구요. 혹시 도움받을만한 경험 있으실까요?
예) 안녕하세요_ab123이라면
_ab123으로만 뽑혀요.... -
이수진의 블로그 이수진의 블로그 2020.09.05 19:49 신고 안녕하세요.
음.. 글쎄요 exe파일로 만들어서 하면 그렇게 되는군요. 다른 곳에서 실행하시려고 exe 만드시는 걸까요?
제가 기억하기로 좀 오래되서 기억이 안나지만 exe 파일 만들면 좀 잘 안되던 문제가 있어서요.
Flask나 Django로 web base로 해결하시는건 어떠신가요>