首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用Python3.x: DependencyError: PyCryptodome算法查找PDF的页数

无法使用Python3.x: DependencyError: PyCryptodome算法查找PDF的页数
EN

Stack Overflow用户
提问于 2022-08-29 19:46:10
回答 1查看 82关注 0票数 0

我正在对从url下载的文件执行数据验证。其中一个验证检查涉及检查PDF的页数。使用PyPDF2包和PdfFileReader模块,直到我遇到一个具有权限密码但没有打开密码的256位AES加密的PDF。我无法访问任何密码,因为这些文件来自制造商网站,所以我的结论是,目前我只需检查PDF是否加密,如果是的话,暂时跳过它,但不管我是否试图检索页面计数或检查PDF是否加密,我都会得到以下错误:

代码语言:javascript
运行
复制
DependencyError: PyCryptodome is required for AES algorithm

此错误发生在第6行if语句中。

尽管已经安装了pycryptodome并导入了AES模块,但还是存在这种情况。另外,我正在使用木星笔记本。这是我的代码:

代码语言:javascript
运行
复制
! pip install PyPDF2
! pip install pycryptodome
from PyPDF2 import PdfFileReader
from Crypto.Cipher import AES

if PdfFileReader('Media Downloaded Files/spk-10-3144 bro.pdf').isEncrypted:
    print('This file is encrypted.')
else:
    print(PdfFileReader('Media Downloaded Files/spk-10-3144-bro.pdf').numPages)

解决方案:

代码语言:javascript
运行
复制
! pip install pikepdf 
from pikepdf import Pdf  
pdf = Pdf.open('Media Downloaded Files/spk-10-3144-bro.pdf') 
len(pdf.pages)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-30 00:31:58

我在使用PyPDF3 (这是PyPDF2的叉子)时遇到了加密问题。我为皮克普夫解决了更换它的问题。它有更多的加密算法实现。试试看!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73533948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档