Проблемы с кодированием при извлечении текста из файла pdf с помощью pdfplumber

Я хотел бы извлечь содержимое следующего файла 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  = 'https://titck.gov.tr/storage/kubKtAttachments/4yM2t3s0uI33S.pdf'
text = extract_text_from_pdf_by_url(url)
print(text)

Он возвращает:

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

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

ıİÖıİ

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

...

0 ответов

Другие вопросы по тегам