코딩을 하면서 방법을 찾다가 너무 시간이 많이 걸려서 chatGPT에게 물었더니 답변을 해줍니다.
코드가 잘 동작합니다. 참 똑똑하네요.
질문을 구체적으로 하니 답변을 잘 해 주는 것 같습니다.
한번 해 보세요.
=============================================================
<<chatGPT에게 질문>>
아래 <코드 01>를 실행하면 "test.pdf"라는 파일로 저장됩니다.
그리고 다시 <코드 02>를 실행해야 pdf 파일을 읽을 수 있습니다.
저장하고 불러오는 과정을 없애고 싶습니다.
그래서 <코드 03>처럼 작성했더니 TypeError 오류가 생깁니다.
어떻게 하면 좋을까요?
<코드 01>
import urllib
url = "https://proceedings.neurips.cc/paper_files/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf"
url_open = urllib.request.urlopen(url)
file = url_open.read()
f = open("test.pdf", "wb")
f.write(file)
f.close()
<코드 02>
import fitz
path_pdf = "test.pdf"
doc = fitz.open(path_pdf)
for page in doc:
text = page.get_text()
print(text)
<코드 03>
import urllib
import fitz
url = "https://proceedings.neurips.cc/paper_files/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf"
url_open = urllib.request.urlopen(url)
file = url_open.read()
doc = fitz.open(file) # 오류발생: TypeError
for page in doc:
text = page.get_text()
print(text)
=============================================================
<<chatGPT 답변 : 코드>>
import urllib.request
import fitz
from io import BytesIO
url = "https://proceedings.neurips.cc/paper_files/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf"
url_open = urllib.request.urlopen(url)
file = url_open.read()
# 바이트 스트림을 메모리에 저장
pdf_memory = BytesIO(file)
doc = fitz.open(stream=pdf_memory)
for page in doc:
text = page.get_text()
print(text)