我想生成一个带有我们部门标识的PDF。当我尝试使用我的控制器的WickedPdf类(使用在https://github.com/mileszs/wicked_pdf描述的方法):Wicked-PDF未显示图像,'wicked_pdf_image_tag'undefined
def some_action
image_tag_string = image_tag('logo.jpg')
pdf = WickedPdf.new.pdf_from_string(image_tag_string)
save_path = Rails.root.join('testpdfs','logotest.pdf')
File.open(save_path, 'wb') do |file|
file << pdf
end
end
...的应用程序保存PDF到目标目录,但它有一个蓝色和白色“ ?标记图像应该在哪里。
如果我这样做,而不是:
image_tag_string = wicked_pdf_image_tag('logo.jpg')
pdf = WickedPdf.new.pdf_from_string(image_tag_string)
我收到以下错误:
NoMethodError:
undefined method `wicked_pdf_image_tag' for #<...
这样看来,我的Rails应用程序也不见了/没有连接到属于一个帮助文件邪恶-PDF宝石。
对StackOverflow上类似问题的回答建议编写一个自定义的“图像标签”助手来定位图像或安装wkhtmltopdf。对我来说,放置在视图(whatever.html.erb)中时,image-tag会显示徽标。 “logo.jpg”已经位于资产管道和#{RailsRoot}/public/images中。最后,我在Ubuntu 14.04上使用了wkhtmltopdf 0.9.9,wicked-pdf 0.11.0和rails 4。
简而言之 - 我做错了什么导致WickedPDF无法呈现图像?
'wicked_pdf_image_tag'是一个辅助方法,因此它应该在的意见,或其他帮助使用。发布更多关于您的实施的信息。 –
什么信息会有用?目前,我使用测试页上的按钮来触发上述方法控制器#some_action。我在Rspec3中编写了一个包含相同代码的测试,并且在运行它时执行了相同的操作 - 构建PDF,保存它,在图像应该放置的位置放置问号。 – NewbieOnRails
正如我所说的,'wicked_pdf_image_tag'是一个辅助方法,所以在控制器操作中它不能被使用(至少它不应该)。您应该查看,放置图像的位置,然后使用该视图生成pdf。但要长话短说 - 对于wicked_pdf,图像路径需要是完整的绝对路径,具有完整的文件系统路径或完整的url(带有域和协议)。我会试着想出一些简单的例子,并将其发布在这里(除非有人击败我)。 –