作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
所以我尝试使用 Prawn gem 将 Canvas 的 PNG 图像嵌入到 PDF 中。 Base64 字符串是使用 canvas 的 toDataURL() 函数生成的。由于仅需要 PDF 格式的图像,因此我试图避免将其保存在服务器上。 Params[:base64string] 正确传递给服务器。
但是,我正在尝试使用
image = Prawn::Images::PNG.new(base64string)
创建图像但我得到 NoMethodError: undefined method `unpack' for nil:NilClass。
知道我做错了什么或应该如何正确完成吗?
最佳答案
找到 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
希望这对您有所帮助!
关于ruby-on-rails - 如何使用 Prawn 将 base64 字符串转换为 PNG 而无需在 Rails 中的服务器上保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13256723/
我是一名优秀的程序员,十分优秀!