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/