所以我试图使用Prawn gem将Photoshop的PNG图像嵌入到PDF中。 Base64字符串是使用canvas'toDataURL()函数生成的。由于图像仅在PDF中需要,我试图避免将其保存在服务器上。 Params [:base64string]正确传递给服务器。
但是,我正在尝试使用
image = Prawn::Images::PNG.new(base64string)
创建图像,但我得到NoMethodError:nil的未定义方法`unpack':NilClass。
任何想法我做错了什么或者应该如何正确地做到这一点?
答案 0 :(得分:2)
找到here:
Prawn想要文件路径而不是编码图像数据。您可以使用临时文件:
require 'prawn'
require 'tempfile'
require 'active_support' # for base64
Prawn::Document.generate('/tmp/test.pdf') do
file = Tempfile.new('image')
file.write ActiveSupport::Base64.decode64(image)
file.close
image file.path
end
希望这有帮助!