加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何使用Prawn将base64字符串转换为PNG而不保

发布时间:2020-12-17 02:14:40 所属栏目:百科 来源:网络整理
导读:所以我试图使用Prawn gem将Photoshop的PNG图像嵌入到PDF中. Base64字符串是使用canvas’toDataURL()函数生成的.由于图像仅在PDF中需要,我试图避免将其保存在服务器上. Params [:base64string]正确传递给服务器. 但是,我正在尝试使用 image = Prawn::Images:
所以我试图使用Prawn gem将Photoshop的PNG图像嵌入到PDF中. Base64字符串是使用canvas’toDataURL()函数生成的.由于图像仅在PDF中需要,我试图避免将其保存在服务器上. Params [:base64string]正确传递给服务器.

但是,我正在尝试使用

image = Prawn::Images::PNG.new(base64string)

创建图像,但我得到NoM??ethodError:nil的未定义方法`unpack’:NilClass.

我有什么想法或者应该如何正确地做到这一点?

解决方法

发现 here:

Prawn想要文件路径而不是编码图像数据.你可以使用tempfile:

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

希望这可以帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读