PdfFileReader: PdfReadError: Не удалось найти таблицу внешних ссылок в указанном месте

Я пытаюсь прочитать PDF-файл в Python через:

from PyPDF2 import PdfFileReader, PdfFileWriter
test_reader = PdfFileReader(file("test.pdf", "rb"))

Выше строки выдает ошибку:

PyPDF2.utils.PdfReadError: Could not find xref table at specified location

Любая помощь будет высоко оценена

3 ответа

Решение

Это фиксированная. На самом деле проблем не было. Кажется, PDF-файл, который я использовал для тестирования, был поврежден (хотя когда я его открывал, там был контент, поэтому я не смог разобраться с самого начала)

Я заменил это другим, и это работало как ожидалось.

Вы можете решить эту проблему, открывая каждый PDF-файл в Adobe Acrobat Reader, а затем сохраняя открытый PDF-файл с тем же именем. Это исправит повреждение, и PyPDF2 сможет прочитать файл.

Вы можете использовать qpdf для исправления поврежденного PDF-файла или просто использовать pikepdf (который основан на qpdf) вместо PyPDF2. Эта библиотека может хорошо работать с поврежденными PDF-файлами, поскольку основана на qpdf.

Пример:

import pikepdf
pdf = pikepdf.Pdf.open(file)

Документы Pikepdf: https://pikepdf.readthedocs.io/en/latest/

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