这是我的代码,我试图在我的内存中下载一个 pdf url,然后尝试在第 3 方 python 包 (PYmuPDF) 中打开它。但它显示了这个错误。如何解决?
我的代码
URL = "https://d2u493yfhe2l4v.cloudfront.net/1922/signed_contract/1922_signed_contract.pdf"
res = urllib.request.urlopen(URL)
p = BytesIO(res.read())
doc = fitz.open("pdf", p)
在此之后它给出了这样的错误,但根据 fitz 的文档,我认为我已经尝试过了! PymuPDF 关于打开内存文件的文档 https://pymupdf.readthedocs.io/en/latest/document/
>>> # from memory
>>> doc = fitz.open("pdf", mem_area)
>>> doc = fitz.open(None, mem_area, "pdf")
>>> doc = fitz.open(stream = mem_area, filetype = "pdf")
最佳答案
升级您的 PYmuPDF 版本。
您错过了文档中最重要的部分: --> “在 1.14.13 版中更改:现在也支持 io.BytesIO”
或者,以下应该有效:
URL = "https://d2u493yfhe2l4v.cloudfront.net/1922/signed_contract/1922_signed_contract.pdf"
res = urllib.request.urlopen(URL)
p = bytearray(res.read())
doc = fitz.open("pdf", p)
关于python - 类型错误 : object of type '_io.BytesIO' has no len(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54463518/