首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python PyMuPDF Fitz

Python PyMuPDF Fitz
EN

Stack Overflow用户
提问于 2018-03-18 02:32:26
回答 1查看 2.7K关注 0票数 0

我一直在尝试使用PyMuPDF / Fitz将图像放入PDF文件中,我在互联网上到处寻找都得到了相同的语法,但当我使用它时,我得到了一个运行时错误。

代码语言:javascript
复制
>>> doc = fitz.open("NewPDF.pdf")
>>> page = doc[1]
>>> rect = fitz.Rect(0,0,880,1080)
>>> page.insertImage(rect, filename = "Image01.jpg")

error: object is not a stream
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\fitz\fitz.py", line 1225, in insertImage
return _fitz.Page_insertImage(self, rect, filename, pixmap, overlay)
RuntimeError: object is not a stream

>>> page
page 1 of NewPDF.pdf

我已经尝试了几个不同的变体,有pixmap和没有,有overlay值设置和没有。PDF文件存在并且可以用Adobe Acrobat Reader打开,图像文件也存在-我尝试过PNG和JPG。

感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-08-14 17:17:04

下面是一些可以尝试的提示:

确保您的"Image01.jpg“文件已打开并使用完整路径。

代码语言:javascript
复制
image_path = "/full/path/to/Image01.jpg" 

image_file = Image.open(
    open(image_path, 'rb'))
    # side-note: generally it is better to use the open with syntax, see link below
    # https://stackoverflow.com/questions/9282967/how-to-open-a-file-using-the-open-with-statement

要确保您实际位于您期望的pdf页面上,请尝试以下方法。此代码将仅在第一页插入图像

代码语言:javascript
复制
for page in doc:
    page.InsertImage(rect, filename=image_path)
    break  # Without this, the image will appear on each page of your pdf
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49340468

复制
相关文章

相似问题

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