pra*_*ase 6 pdfkit ruby-on-rails-4
我正在尝试使用pdfkit将显示图像从facebook cdn转换为pdf的html页面.我使用rails 4.2,pdfkit 0.6.2和wkhtmltopdf-binary 0.9.9.3.
# Gemfile
gem 'pdfkit'
gem 'wkhtmltopdf-binary'
# controller
def generate_pdf
@booklet = Booklet.find params[:id]
@cover = Image.last
@images = @booklet.images.sort_by(&:uploaded_at)
respond_to do |format|
format.html
format.pdf do
html = render_to_string(layout: true , action: "generate_pdf.html.haml")
kit = PDFKit.new(html, page_size: 'A4', orientation: 'Landscape')
`sass vendor/assets/stylesheets/bootstrap.scss tmp/bootstrap.css`
`sass vendor/assets/stylesheets/custom.scss tmp/custom.css`
kit.stylesheets << "#{Rails.root}/tmp/bootstrap.css"
kit.stylesheets << "#{Rails.root}/tmp/custom.css"
pdf = kit.to_pdf
send_data pdf, filename: 'booklet.pdf', type: 'application/pdf'
end
end
end
# application.scss
@import 'bootstrap';
@import 'custom';
# config/application.rb
require 'pdfkit'
config.middleware.use PDFKit::Middleware
# config/initializers/mime_types.rb
Mime::Type.register "application/pdf", :pdf unless Mime::Type.lookup_by_extension(:pdf)
Run Code Online (Sandbox Code Playgroud)
生成pdf并显示facebook cdn图像,但样式表没有被应用.我错过了什么?
我在这里为上述问题创建了一个示例存储库:https://github.com/prasadsurase/topdf
仅供参考,bootstrap.css和custom.css放在供应商/资产中,并且扩展名已重命名为scss.在sass中,资产(字体和图像)使用'font-path'和'image-url'rails helper进行引用.资产已预编译,应用程序-.... css已复制到pdf.css,资产从根路径(/)引用
小智 0
Bootstrap 对于应用程序中的其他页面是否可以正常工作?-- 目的是确保您正确配置元标记以包含 Bootstrap 文件,并且您指向 Bootstrap 文件(似乎位于 /tmp 中?)
另外,您在什么操作系统上编码?我可以建议替代吗"#{Rails.root}/tmp/bootstrap.css"用Rails.root.join('tmp','bootstrap.css')
让我知道这些是否有帮助。
| 归档时间: |
|
| 查看次数: |
2617 次 |
| 最近记录: |