ruby-on-rails - RAILS - 使用 GROVER 从 HTML 生成 PDF
问题描述
我想使用 GROVER 从我的应用程序中将相同的 ERB/HTML 页面导出为 PDF。它可以工作,但生成的 PDF 似乎缺少样式和格式,似乎没有处理任何 CSS。
这是我在控制器中的代码:
html_string = render_to_string(
{
template: 'users/show.html.erb',
locals: { id: params[:id] }
})
pdf = Grover.new(html_string, format: 'A4').to_pdf
respond_to do |format|
format.html
format.pdf do
send_data(pdf, disposition: 'inline', filename: "Show_ID_#{params[:id]}", type: 'application/pdf')
end
end
我的问题是,我怎样才能说服 GROVER 也处理 CSS 文件?
解决方案
我有同样的问题,我的布局是在没有 CSS 的情况下呈现的。我能够通过display_url
在 Grover 中添加选项来解决问题。
在本地开发中,例如:
pdf = Grover.new(html_string, format: 'A4', display_url: "http://localhost:3000").to_pdf
您需要display_url
根据您的环境进行更改。
如果这不起作用,请确保html_string
您正在渲染的内容实际上包含正确的标记。您可以呈现html_string
为 HTML 以验证是否包含所有标记。
推荐阅读
- regression - 如何在 dolphindb 中将 ols 结果堆叠为表格?
- node.js - Docker 构建不适用于节点上的 NextJS:带有 SWC 的高山
- git - 构建 docker 镜像时配置 git
- geospatial - 使用 xarray 将 netcdf 扩展到全球
- reactjs - 如何检测在 reactjs 中是否支持 avif?
- reactjs - 我们如何从 SAGA 中的生成器函数中导出变量?
- xml - XSL 将科学记数法转换为数字
- mysql - MySQL 表继承
- javascript - 第二次点击按钮后JS修改表格内容
- laravel - 如何使登录 api Laravel 默认会话