无法读取在线可用的pdf文件的特定页面的内容

三菱

我已经使用PyMuPDF库在本地解析pdf文件的任何特定页面的内容,并发现它可以正常工作。但是,当我尝试在解析在线可用的pdf文件的任何特定页面的内容时应用相同的逻辑时,遇到错误。

我使用以下脚本(本地pdf)获得了成功:

import fitz

path = r'C:\Users\WCS\Desktop\pymupdf\Regular Expressions Cookbook.pdf'

doc = fitz.open(path)
page1 = doc.loadPage(5)
page1text = page1.getText("text")
print(page1text)

以下脚本引发错误(可在线获取pdf):

import fitz
import requests

URL = 'https://buildmedia.readthedocs.org/media/pdf/pdfminer-docs/latest/pdfminer-docs.pdf'

res = requests.get(URL)
doc = fitz.open(res.content)
page1 = doc.loadPage(5)
page1text = page1.getText("text")
print(page1text)

脚本遇到的错误:

Traceback (most recent call last):
  File "C:\Users\WCS\AppData\Local\Programs\Python\Python37-32\general_demo.py", line 8, in <module>
    doc = fitz.open(res.content)
  File "C:\Users\WCS\AppData\Local\Programs\Python\Python37-32\lib\site-packages\fitz\fitz.py", line 2010, in __init__
    _fitz.Document_swiginit(self, _fitz.new_Document(filename, stream, filetype, rect, width, height, fontsize))
RuntimeError: cannot open b'%PDF-1.5\n%\xd0\xd4\xc5\xd8\n1 0 obj\n<<\n/Length 843       \n/Filter /FlateDecode\n>>\nstream\nx\xdamUMo\xe20\x10\xbd\xe7Wx\x0f\x95\xda\x03\xc5N\xc8W\x85\x90\x9c\x84H\x1c\xb6\xad\nZ\xed\x95&\xa6\x8bT\x12\x14\xe0\xd0\x7f\xbf~3\x13\xda\xae\xf

如何直接从网上阅读内容?

塞尔吉奥·普尔加林

看起来您需要使用初始化对象stream

>>> # from memory
>>> doc = fitz.open(stream=mem_area, filetype="pdf")

mem_area 具有文档的数据。

https://pymupdf.readthedocs.io/zh-CN/latest/document.html#Document

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章