Python编程:pypdf2和pdfplumber获取pdf文件的页数

举报
彭世瑜 发表于 2021/08/13 23:54:56 2021/08/13
【摘要】 pypdf2 安装 pip install pypdf2 1 代码实例 from PyPDF2 import PdfFileReader filename = "test.pdf" reader = PdfFileReader(filename) # 不解密可能会报错:PyPDF2.utils.PdfReadError: File has not been ...

pypdf2

安装

pip install pypdf2

  
 
  • 1

代码实例

from PyPDF2 import PdfFileReader

filename = "test.pdf"
reader = PdfFileReader(filename)

# 不解密可能会报错:PyPDF2.utils.PdfReadError: File has not been decrypted
if reader.isEncrypted: reader.decrypt('')

page = reader.getNumPages()
print(page)

"""
如果加密是高版本的(3, 4),可能会报错
NotImplementedError: only algorithm code 1 and 2 are supported

原因是:
代码中有版本判断
if not (encrypt['/V'] in (1, 2)): raise NotImplementedError("only algorithm code 1 and 2 are supported")
"""

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

参考:
https://github.com/mstamy2/PyPDF2/issues/51#issuecomment-437839902

pdfplumber

安装

pip install pdfplumber

  
 
  • 1

代码示例

import pdfplumber

filename = "test.pdf"
f = pdfplumber.open(filename)
print(len(f.pages))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

就是那么简单,没有过多的繁琐操作,暂时没有发现其他莫名问题

实际使用中发现前者速度要快很多

参考
https://github.com/jsvine/pdfplumber

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/85269745

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。