Ruby:从XML和XSL生成PDF

时间:2014-10-21 19:52:35

标签: ruby-on-rails xml pdf

有没有办法使用XML和XSL作为样式表生成PDF文件? 我需要从Rails 4.0.0应用程序中执行此操作。

2 个答案:

答案 0 :(得分:1)

我想知道为什么这个问题被低估了......

无论如何,我找到了办法。这是为了万一有人在某一天想到同样的事情。

document = Nokogiri::XML(File.read(Rails.root.to_s+'/lib/label.xml'))
template = Nokogiri::XSLT(File.open(Rails.root.to_s+'/lib/xsl_which_imports_more_xsl.xsl','rb'))
html_document = template.transform(document)

pdf = WickedPdf.new.pdf_from_string(html_document)

save_path = Rails.root.join('public','filename.pdf')
File.open(save_path, 'wb') do |file|
   file << pdf
end

Wicked_pdf可能能够在没有Nokogiri的情况下做到这一点,但这种方式很好,所以我没有花更多的时间在它上面。

答案 1 :(得分:1)

看看http://xmlgraphics.apache.org/fop/ 从ruby中,您可以通过执行bash命令来调用它。我们在所有Rails项目中都使用它。