我想提取以下 pdf 文件的内容,但它返回一个毫无意义的结果。我假设它可能与文件的编码方面有关,但相同的提取代码适用于同一基础设施上的许多其他文件。这不是由以下脚本处理的单个文件,还有其他一些情况。但是,我在这里仅举了一个例子。我意识到如果我将此文件的文本内容复制/粘贴到我的记事本,它也没有正确粘贴。粘贴的文本不是那么糟糕,我将它放在底部,但它也是不可接受的。我应该如何解决这个问题?有什么建议么 ?
# -*- coding: utf-8 -*-
import urllib3
import pdfplumber
import io
def extract_text_from_pdf_by_url(url):
all_text = ''
http = urllib3.PoolManager()
temp = io.BytesIO()
temp.write(http.request("GET", url).data)
try: # to verify is the url has valid pdf file!
pdf = pdfplumber.open(temp)
for pdf_page in pdf.pages:
single_page_text = pdf_page.extract_text()
# TypeError: can only concatenate str (not "NoneType") to str
if single_page_text is not None:
all_text += '\n' + single_page_text
pdf.close()
except:
pass
return all_text
url = '4yM2t3s0uI33S.pdf'
text = extract_text_from_pdf_by_url(url)
print(text)
它返回:
ŞİİİİıııİİİİıŞİ
ıööçııııçııöİııçıüüışüüüğöüüışı
依依依依
ö ıüö ıöğğ ı ç şüıııııııı ş
...