PyPDF2:从zip文件读取pdf

吉米·卡洛斯(JimmyCarlos)

我试图让PyPDF2读取一个简单的zip文件中的一个小的.pdf文件。到目前为止,这是我得到的:

import PyPDF2,zipfile

with zipfile.ZipFile("TEST.zip") as z:
    filename = z.namelist()[0]
    a = z.filelist[0]
    b = z.open(filename)
    c = z.read(filename)
    PyPDF2.PdfFileReader(b)

错误信息:

PdfReadWarning: PdfFileReader stream/file object is not in binary mode. It may not be read correctly. [pdf.py:1079]
io.UnsupportedOperation: seek

任何想法表示赞赏!谢谢。

机械肉

该文件尚未提取,因此您无法使用对其进行操作open()

没关系,因为PdfFileReader需要一个流。因此我们可以使用BytesIO提供它下面的示例获取解压缩的字节,并将其提供给BytesIO,这使它们成为PdfFileReader的流。如果您省略BytesIO,则会得到:AttributeError: 'bytes' object has no attribute 'seek'

import PyPDF2,zipfile
from io import BytesIO                             

with zipfile.ZipFile('sample.zip','r') as z: 
    filename = z.namelist()[0] 
    pdf_file = PyPDF2.PdfFileReader(BytesIO(z.read(filename))) 

结果:

In [20]: pdf_file
Out[20]: <PyPDF2.pdf.PdfFileReader at 0x7f01b61db2b0>

In [21]: pdf_file.getPage(0)
Out[21]: 
{'/Type': '/Page',
 '/Parent': {'/Type': '/Pages',
  '/Count': 2,
  '/Kids': [IndirectObject(4, 0), IndirectObject(6, 0)]},
 '/Resources': {'/Font': {'/F1': {'/Type': '/Font',
    '/Subtype': '/Type1',
    '/Name': '/F1',
    '/BaseFont': '/Helvetica',
    '/Encoding': '/WinAnsiEncoding'}},
  '/ProcSet': ['/PDF', '/Text']},
 '/MediaBox': [0, 0, 612, 792],
 '/Contents': {}}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用pypdf2打开pdf文件

来自分类Dev

使用Python与PyPDF2从PDF文件提取文本

来自分类Dev

PyPDF2 PdfFileMerger 在合并文件中丢失 PDF 模块

来自分类Dev

如何使用Python的PyPDF2 lib从PDF文件中删除水印

来自分类Dev

我如何知道使用PyPDF2将文件附加到我的PDF中?

来自分类Dev

使用PyPDF2检测Google Docs生成的PDF文件中的非嵌入式字体

来自分类Dev

使用pypdf2将文件夹中的所有pdf文件合并为一个pdf

来自分类Dev

PyPDF2 PdfReadError:无法读取布尔对象

来自分类Dev

如何使用PyPDF2设置PDF版本?

来自分类Dev

Python无法使用pyPDF2打印PDF

来自分类Dev

使用PyPdf2替换pdf中的文本

来自分类Dev

无法从PyPDF2上的regex接收正确格式的PDF

来自分类Dev

使用 PyPDF2 合并多个 pdf 文档中的页面

来自分类Dev

如何使用pypdf2检查pdf密码是否正确

来自分类Dev

如何遍历目录中的文件,以便可以使用PyPDF2打开/读取它们?

来自分类Dev

PyPDF2脚本,用于拆分文件夹中pdf的每一页

来自分类Dev

PyPDF2在加水印时损坏文件

来自分类Dev

PyPDF2在合并的PDF中给我空白页

来自分类Dev

PyPDF2在阅读pdf时创建非字母数字字符

来自分类Dev

使用PyPDF2添加书签

来自分类Dev

Python PyPDF2合并文档

来自分类Dev

需要位置参数PyPDF2

来自分类Dev

维护的PyPDF2替代品

来自分类Dev

PyPDF2 PdfFileMerger.Merge类

来自分类Dev

Python PyPDF2合并文档

来自分类Dev

PyPDF2 'PageObject' 未定义

来自分类Dev

PyPDF2无法读取非英文字符,在extractText()上返回空字符串

来自分类Dev

如何使用PyPDF2在Python 3中以单个字符串的形式从PDF检索所有页面

来自分类Dev

如何使用Windows安装pyPDF2模块?

Related 相关文章

热门标签

归档