Как решить NotImplementedError при использовании PyPDF2 для извлечения текста из PDF?

Я хочу извлечь весь текст из зашифрованного файла PDF.

Мой компьютер использует Windows 10. И я использую Anaconda Jupiter Notebook, версия python - 3.7.1.
Сначала я попробовал PyPDF2. Я слышал, что поддержка PyPDF2 версии Python ниже 3.7. Но его можно установить на анаконду (я нашел этот файл в облаке анаконды).

Но я получаю NotImplementedError.

    from PyPDF2 import PdfFileReader

    pdfFile = open(correctfilename)
    pdfReader = PdfFileReader(pdfFile)
    pdfReader.decrypt("")
    count = pdfReader.numPages
    for i in range(count):
        page = pdfReader.getPage(i)
        title_text = page.extractText()

И сообщения об ошибках такие.

NotImplementedError
Traceback (most recent call last)
    <ipython-input-29-edf66e155d1f> in <module>
          5 pdfFile = open(name[2] + "hs_textfile.pdf", "rb")
          6 pdfReader = PdfFileReader(pdfFile)
    ----> 7 pdfReader.decrypt("")
          8 count = pdfReader.numPages
          9 for i in range(count):

    ~\Anaconda3\lib\site-packages\PyPDF2\pdf.py in decrypt(self, password)
       1985         self._override_encryption = True
       1986         try:
    -> 1987             return self._decrypt(password)
       1988         finally:
       1989             self._override_encryption = False

    ~\Anaconda3\lib\site-packages\PyPDF2\pdf.py in _decrypt(self, password)
       1994             raise NotImplementedError("only Standard PDF encryption handler is available")
       1995         if not (encrypt['/V'] in (1, 2)):
    -> 1996             raise NotImplementedError("only algorithm code 1 and 2 are supported")
       1997         user_password, key = self._authenticateUserPassword(password)
       1998         if user_password:

    NotImplementedError: only algorithm code 1 and 2 are supported

Затем я попробовал pikepdf, но он не работал с окнами в блокноте Jupiter.
На самом деле я не знал, что файл, который я хочу открыть, зашифрован. Итак, я использовал pdfminer.six.

Как я могу расшифровать этот файл и извлечь текст?

0 ответов

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