0

我想提取以下 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)

它返回:

ŞİİİİıııİİİİıŞİ

ıööçııııçııöİııçıüüışüüüğöüüışı

依依依依

ö ıüö ıöğğ ı ç şüıııııııı ş

...

4

0 回答 0