使用图像数据在Prawn中将图像添加到PDF

问题描述

因此,我有一个要保存在数据库中的图像,需要在我的Prawn Pdf上显示,但是当我拉出图像,对其进行解码并尝试将其显示在Prawn PDF上时,出现了以下问题它需要一个文件路径。有没有一种方法可以将图像数据传递给pdf,而不是文件路径,并且只能显示该图像?

有更好的方法吗?

解决方法

Prawn可以接受StringIO,并将图像数据全部存储在内存中:

require 'stringio'

image_data = StringIO.new( Base64.decode64(@image) )    
pdf.image(image_data)
,

好吧,我最终找到了解决方法。

pdf.image (MiniMagick::Image.read(Base64.decode64(self.signature))).format('jpg').path