Как я Могу Решить PyPDF2.utils.Ошибка PdfReadError: маркер EOF не найден

#python #multithreading #pypdf2

Вопрос:

Я работаю над PDF-файлом большого размера около 400-500 МБ. Во-первых, я запустил его в одном потоке, и код работал, но мне потребовалось полчаса, чтобы закончить. Затем я решил использовать потоки и закодировать его, но после этого pypdf2 ввел меня в заблуждение.

Ошибка:

 File "/usr/local/lib/python3.9/dist-packages/PyPDF2/pdf.py", line 1696, in read
    raise utils.PdfReadError("EOF marker not found")
PyPDF2.utils.PdfReadError: EOF marker not found
 

Код:

 if __name__ == '__main__':
    db = MySQLdb.connect(host="hostIP", user="username", passwd="password", db="db_name", use_unicode=True, charset='utf8')
    c = db.cursor()

    start = time.time()

    pdfAdi = "381_Sayili_Resmi_Marka_Bülteni.pdf"
    pdfYolu = "pdf/"   pdfAdi
    pdfFileObj = open(pdfYolu, 'rb')

    # print(pdfFileObj)
    pdfReader = PdfFileReader(pdfFileObj)
    output = ''
    for i in range(1, pdfReader.getNumPages()):
        # for i in range(34, 38):
        pageObj = pdfReader.getPage(i)
        output  = pageObj.extractText()
        output = output.replace('þ', 'ş')
        output = output.replace('Þ', 'Ş')
        output = output.replace('ý', 'ı')
        output = output.replace('ð', 'ğ')
        output = output.replace('Ð', 'Ğ')
        output = output.replace('Ý', 'İ')
        output = output.replace('Ý', 'İ')
    pdfFileObj.close()