如何使用带有图像URL的reportlab的drawImage?

口渴

当我尝试以下操作时:

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen.canvas import Canvas
import urllib
import StringIO
import PIL.Image

image_file = urllib.urlopen('https://www.google.com/images/srpr/logo11w.png')
image_string = StringIO.StringIO(image_file.read())
logo = PIL.Image.open(image_string)

canvas = Canvas('output.pdf', pagesize=letter)
canvas.drawImage(logo, 10, 10)
canvas.showPage()
canvas.save()

我收到此错误:

Traceback (most recent call last):
  File "imagefromurl.py", line 12, in <module>
    canvas.drawImage(logo, 10, 10)
  File "/usr/lib/python2.7/dist-packages/reportlab/pdfgen/canvas.py", line 857, in drawImage
    imgObj = pdfdoc.PDFImageXObject(name, image, mask=mask)
  File "/usr/lib/python2.7/dist-packages/reportlab/pdfbase/pdfdoc.py", line 2090, in __init__
    ext = string.lower(os.path.splitext(source)[1])
  File "/usr/lib/python2.7/posixpath.py", line 96, in splitext
    return genericpath._splitext(p, sep, altsep, extsep)
  File "/usr/lib/python2.7/genericpath.py", line 91, in _splitext
    sepIndex = p.rfind(sep)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 515, in __getattr__
    raise AttributeError(name)

Reportlab是2.5版。

口渴

我很难做到。这行得通(还添加了必要的蒙版,以避免透明变黑):

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen.canvas import Canvas
from reportlab.lib.utils import ImageReader

logo = ImageReader('https://www.google.com/images/srpr/logo11w.png')

canvas = Canvas('output.pdf', pagesize=letter)
canvas.drawImage(logo, 10, 10, mask='auto')
canvas.showPage()
canvas.save()

尽管很难通过这种方式来使我检测到无法获取图像URL并进行处理(例如,替换本地图像),但事实并非如此。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Swift 3:如何使用带有API的URL显示图像

来自分类Dev

加载数组中的所有图像后如何使用drawImage

来自分类Dev

如何使用drawImage()裁剪图像?

来自分类Dev

使用带有 UIButton 的 URL 图像

来自分类Dev

如何在imageName Objective-c中使用带有阿拉伯文本的图像URL加载图像

来自分类Dev

如何从URL请求图像(带有弹出窗口)-Android Studio

来自分类Dev

如何在pyqt中显示带有URL的图像

来自分类Dev

如何使用带有 url 的下拉列表

来自分类Dev

带有圆角的画布drawimage

来自分类Dev

使用drawimage和重绘时如何替换旧图像

来自分类Dev

如何使用vue迭代带有图像的文章

来自分类Dev

如何使用post方法上传带有参数android的图像

来自分类Dev

使用DKImagePickerController时如何获取带有exif数据的图像?

来自分类Dev

如何使用带有 OOP 的枕头在 tkinter 中显示图像

来自分类Dev

使用PHP图像缓存将带有URL的图像缓存到源

来自分类Dev

显示带有URL图像的UIImage

来自分类Dev

如何显示带有持有人的URL中的图像视图

来自分类Dev

如何使用带有Rails的代理来解析URL?

来自分类Dev

如何使用带有@符号的用户/用户ID的SMB URL?

来自分类Dev

如何使用提交按钮转到带有HTML的URL

来自分类Dev

如何使用 AJAX 获取带有“placeid”的 Google 地图 URL?

来自分类Dev

如何使用请求模块获取带有 unicode 字符的 url?

来自分类Dev

如何使用带有 javascript 变量的 Laravel URL::asset

来自分类Dev

带有ReportLab的Python。如何用SimpleDocTemplate写一行?

来自分类Dev

通过MySQL显示带有图像URL的图像

来自分类Dev

如何在带有图像URL的Rails中创建记录照片

来自分类Dev

如何在rdflib中添加带有图形的图像URL

来自分类Dev

使用CSV进行URL扫描的带有节点请求的下载图像

来自分类Dev

使用cURL php从URL下载带有扩展名的图像

Related 相关文章

  1. 1

    Swift 3:如何使用带有API的URL显示图像

  2. 2

    加载数组中的所有图像后如何使用drawImage

  3. 3

    如何使用drawImage()裁剪图像?

  4. 4

    使用带有 UIButton 的 URL 图像

  5. 5

    如何在imageName Objective-c中使用带有阿拉伯文本的图像URL加载图像

  6. 6

    如何从URL请求图像(带有弹出窗口)-Android Studio

  7. 7

    如何在pyqt中显示带有URL的图像

  8. 8

    如何使用带有 url 的下拉列表

  9. 9

    带有圆角的画布drawimage

  10. 10

    使用drawimage和重绘时如何替换旧图像

  11. 11

    如何使用vue迭代带有图像的文章

  12. 12

    如何使用post方法上传带有参数android的图像

  13. 13

    使用DKImagePickerController时如何获取带有exif数据的图像?

  14. 14

    如何使用带有 OOP 的枕头在 tkinter 中显示图像

  15. 15

    使用PHP图像缓存将带有URL的图像缓存到源

  16. 16

    显示带有URL图像的UIImage

  17. 17

    如何显示带有持有人的URL中的图像视图

  18. 18

    如何使用带有Rails的代理来解析URL?

  19. 19

    如何使用带有@符号的用户/用户ID的SMB URL?

  20. 20

    如何使用提交按钮转到带有HTML的URL

  21. 21

    如何使用 AJAX 获取带有“placeid”的 Google 地图 URL?

  22. 22

    如何使用请求模块获取带有 unicode 字符的 url?

  23. 23

    如何使用带有 javascript 变量的 Laravel URL::asset

  24. 24

    带有ReportLab的Python。如何用SimpleDocTemplate写一行?

  25. 25

    通过MySQL显示带有图像URL的图像

  26. 26

    如何在带有图像URL的Rails中创建记录照片

  27. 27

    如何在rdflib中添加带有图形的图像URL

  28. 28

    使用CSV进行URL扫描的带有节点请求的下载图像

  29. 29

    使用cURL php从URL下载带有扩展名的图像

热门标签

归档