邪恶的pdf不渲染页眉/页脚

2023-12-21

我在用邪恶_pdf https://github.com/mileszs/wicked_pdf用于生成pdf from html在我的 Rails 项目上。正在渲染template但我无法打印header/footer部分。下面是我的仅打印的代码template section

render pdf: "pdf_name",
               layout: 'application',
               template: 'reports/show',
               formats: [:html],
               margin: { top: 10, bottom: 10, left: 10, right: 10 },
               disable_javascript: true,
               show_as_html: params[:debug],
               header: {
                 html: { template: 'shared/header' },
                 spacing: 10
               },
               footer: {
                 html: { template: 'shared/footer' },
                 spacing: 30,
                 line: true
               }

如果我尝试使用WickedPdf.new.pdf_from_string render_to_string它显示Failed to load PDF document错误甚至很简单WickedPdf.new.pdf_from_string('<html><body><h1>Hello There!</h1></body></html>')不起作用。

我尝试过使用render_to_string_with_wicked_pdf, render_with_wicked_pdf但没有成功。我的 Rails 版本是3.2.19, wicked_pdf宝石版本是1.1.0 and wkhtmltopdf版本是wkhtmltopdf-0.13.0-alpha-7b36694_linux-trusty-amd64.deb。我也尝试使用wkhtmltopdf版本0.12.0.

我的问题是

  1. 为什么我的上述实现不起作用?
  2. Why pdf_from_string不起作用?

任何形式的帮助表示赞赏。谢谢。


使用一个版本wkhtmltopdf使用修补后的 qt 构建,可以正确地与页脚和页眉一起使用。

$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
$ tar xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
$ sudo mv wkhtmltox /usr/local/share/
$ sudo update-alternatives --install /usr/local/bin/wkhtmltopdf wkhtmltopdf /usr/local/share/wkhtmltox/bin/wkhtmltopdf 1005

检查版本:

$ wkhtmltopdf --version

它应该说:

wkhtmltopdf 0.12.4 (with patched qt)

test it:

$ wkhtmltopdf --footer-center 'footer' http://www.google.com google.pdf

您还可以安装 wkhtmltoimage:

$ sudo update-alternatives --install /usr/local/bin/wkhtmltoimage wkhtmltoimage /usr/local/share/wkhtmltox/bin/wkhtmltoimage 1005

你可以使用这样的脚本:wkhtmltox 安装程序 https://gist.github.com/eendroroy/a3d9b647aa095b1bb404f7834c923fb1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

邪恶的pdf不渲染页眉/页脚 的相关文章

  • 如何更改 Bootstrap 3 div 列顺序

    正在做我的第一个响应式设计 在 Bootstrap 3 中可能会出现类似的情况 在 lg 上更改此设置 a b c sm 上的这个 a c b 您可以使用两个 div 一个用于第一类型的布置 另一个用于第二类型的布置 第一个仅在 lg 中显
  • W3C 验证器:“握手警报:unrecognized_name”

    我正在尝试验证我的网站W3C Nu Html 检查器 https validator w3 org nu doc https 3A 2F 2Fwww healthdrop in 2F但我遇到了以下错误 不知道为什么 IO 错误 握手警报 u
  • 如何通过php获取网页的Open Graph协议?

    PHP 有一个简单的命令来获取网页的元标记 get meta tags 但这仅适用于具有名称属性的元标记 然而 开放图谱协议如今变得越来越流行 从网页获取 opg 值的最简单方法是什么 例如 我看到的基本方法是通过 cURL 获取页面并使用
  • iOS7 中“-webkit-overflow-scrolling: touch” 最初的屏幕外元素被破坏

    既然转基因种子已经发布了 我们现在可以谈谈了 看起来 iOS7 中的 webkit overflow scrolling touch 已损坏 最初不在屏幕上的元素的触摸事件不会触发 或者在某些情况下只是不可靠 这是一个例子
  • 如何延迟加载嵌入在 iframe 上的 YouTube 视频?

    如何将延迟加载应用于iframe嵌入视频 我尝试添加loading eager loading auto and loading lazyload 您可以使用srcdoc你里面的属性iframe标签来加载图像 请参阅以下示例作为参考
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • jQuery:查找文本并替换为 HTML

    我尝试查找并替换文本 使用 jQuery 实际上我正在尝试在文本周围添加一个 span 元素 我还应该能够再次删除跨度而不会丢失里面的文本 例如 假设我有以下情况 span This is a span element span 我希望能够
  • 使用“ember-rails”将路由从 Rails 迁移到现有 Rails 应用程序的 Ember

    将 gem ember rails 用于现有的 Rails 应用程序 我正在尝试使用 Ember 路由一个资源 很多人告诉我这段代码应该可以工作 但事实并非如此 我想突破学习曲线并使这项工作成功 但我需要一些帮助 Error Routing
  • scrollWidth/scrollHeight 给出无效尺寸

    如所述https developer mozilla org en Determining the dimensions of elements https developer mozilla org en Determining the
  • Ionic 2 占位符文本样式

    我正在使用 Ionic 2 rc0 开发一个应用程序 并且整个应用程序中有几个仍然需要样式设置的输入字段
  • 如何通过 HTML 按钮播放声音

    我目前通过网站播放音乐的方法是通过 HTML 音频标签 不过我希望能够通过 HTML 按钮来播放它 该按钮应该能够在播放和停止之间切换音乐 我在 JSFiddle 创建了一个示例 但不知道如何实现它 有人可以告诉我如何使用我的 JSFidd
  • 将一个文本框的内容复制到另一个文本框

    假设在文本框中输入了一个条目 是否可以在第二个文本框中保留相同的输入文本 如果是这样 这是如何完成的
  • jQuery .val() 返回单选按钮的未定义

    我正在尝试获取 jQuery 中选中的单选按钮值 但它返回的值是 未定义 我搜索了这个问题的解决方案 但对我来说没有任何作用 我的 HTML 代码
  • iframe 重新加载按钮

    我浏览了很多网站 但似乎没有一个能正常工作 或者我不明白它们 我想要一个刷新某个 iframe 的简单按钮 该按钮将位于父页面上 并且 iframe 名称为 Right 有很多方法可以做到这一点 假设这个iframe markup 我们可以
  • HTML colorpicker 发生变化时如何获取新值?

    我正在开发一个需要更改 HTML 颜色的网络应用程序canvas基于的价值观colorpicker 我有一个colorpicker在我需要获取的 HTML 中value从每次更新开始
  • 使用 jquery 将字符串数组转换为整数

    我正在尝试将 jquery 中的字符串数组转换为整数数组 这是我的尝试 var cdata data values split each cdata function i l l parseInt l 我认为在这种情况下你不需要使用 Jqu
  • 如何清除WebGL中的矩形区域?

    WebGL 有一个clear清除整个表面的方法 清除表面的特定矩形的最佳方法是什么 例如 我想将一个从 50 50 开始的 100x100 像素框设置为全零 ARGB 0 0 0 0 我现在能想到的就是用一个写入零的片段着色器绘制一个四边形
  • css 计数器在 Internet Explorer 中无法工作以获取隐藏内容 - 如何修复?

    我们想要一些编号列表 并发现了这个很酷的计数器 您可以在 css 中使用它来让浏览器为您计算数字 ol instructions counter reset instructions section ol instructions gt l
  • 将实例变量传递到表单中 - Rails

    由于我对 Rails 以及如何跨模型使用变量的了解很少 这可能是一个错误 因此如果需要更多代码来回答它或者我的术语不正确 请告诉我 我很乐意更新问题 我有一个帖子供稿 我希望用户能够 喜欢 这些帖子 虽然以下代码允许 Likes 在单个帖子
  • 我可以使用 jQuery 动态创建文件(及其内容)吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 这是我的 HTML 代码 ul li

随机推荐

  • Julia 中有外部映射函数吗?

    我正在尝试构建四个向量 模型中的参数 的所有可能组合 这将为我提供一个大的 nx4 矩阵 然后我可以对每组 行 参数运行模拟 在 R 中我将通过使用来实现这一点expand grid在 Mathematica 风格中 我可以使用类似外积的东
  • Clojure 源代码中的父 eval(阅读器)函数?

    In 彼得 诺维格 http norvig com 史诗巨著人工智能编程范式 http norvig com paip html在第 7 章中 他描述了一个函数interp这实际上是一个简单的eval解释 REPL 中的基本方案时使用的函数
  • Django 过滤 ModelChoiceField 的查询集

    我一直在使用名为 ModelChoiceField 的表单字段并通过所有对象进行查询 但这并不完全是我打算使用它的目的 class PictureForm forms ModelForm Whiteboard forms ModelChoi
  • 是否有将资源嵌入 Linux 可执行映像的标准方法? [复制]

    这个问题在这里已经有答案了 通过 Windows API 将二进制资源嵌入到 PE 映像 EXE DLL 中非常容易 请参阅http msdn microsoft com en us library ms648008 v VS 85 asp
  • 为什么 PHPmailer 在发送后将 mime 标头打印到屏幕上?

    问题是 我刚刚实现了 PHPMailer 它在发送电子邮件后将 Mime 标头打印到屏幕上 我正在使用 GITHUB 上列出的最新 PHPMailer 代码 我几乎浏览了所有内容 但找不到打印到屏幕的任何原因 如果您需要更多信息 请告诉我
  • Java - windows/linux 中的控制台输出

    Java支持在输出到控制台时控制光标吗 例如 我想在执行 System out print 之前设置字符位置 可能还设置颜色 想想像 top 这样的应用程序写入控制台的方式 谢谢 您通常不使用 system out 来执行这些操作 nix
  • 如何使用关联常量来定义数组的长度? [复制]

    这个问题在这里已经有答案了 我有一个特征 它代表一个可以通过 UDP 套接字发送的实体 pub trait ToNetEnt const NET SIZE usize fn from net data u8 gt Self fn to ne
  • EL 方法中的参数

    我想在 JSP 中使用带有参数的 EL 方法 但 EL 不支持方法中的参数 实际上我想显示一个表格 其中有一个字段可以在一个单元格中输出值列表 对于每个单元格 此列表都会有所不同 这取决于参数 我该如何使用 EL 来做到这一点 我已经尝试过
  • 在 ngOnDestroy 函数中调用时如何等待 api 调用完成?

    我有一个场景 我必须在特定组件被销毁之前将数据发送到 api 数据库 正如 Angular2 生命周期中所描述的 在组件被销毁并调用之前执行一个方法ngOnDestroy 但正如文档中所指定的 这是一个 void 函数 因此它不会等待某些结
  • 将 IOSurface 绘制到另一个 IOSurface

    如何将一系列 IOSurface 绘制到另一个 然后将其绘制到屏幕上 我在 MultiGPU 示例项目中使用了苹果的一些源代码 但我能做的最好的事情就是绘制白屏或获得大量伪像并使应用程序崩溃 我对 openGL 很陌生 不太了解帧缓冲区和纹
  • 如何在一个 Include 后执行多个 ThenIninclude 导航道具

    对于 TestType 我想包含导航道具 Schoolclass 和 subject 我可以做一个 Include t gt t TestType ThenInclude x gt x Subject 但不是 Include t gt t
  • 跟踪约束的技术

    场景如下 我编写了一些带有类型签名的代码 GHC 抱怨无法推断出某些代码的 x yx and y 通常 您可以扔掉 GHC 并简单地将同构添加到函数约束中 但由于以下几个原因 这是一个坏主意 它并不强调理解代码 您最终可能会得到 5 个约束
  • 线程可以安全地读取VCL事件设置的变量吗?

    线程读取 Delphi VCL 事件设置的变量是否安全 当用户单击 VCL TCheckbox 时 主线程将布尔值设置为复选框的选中状态 CheckboxState CheckBox1 Checked 任何时候 线程都会读取该变量 if C
  • 在reactjs中将HTML表格复制到剪贴板

    我的 React 项目中有一个 HTML 表 我想将表格复制到剪贴板 table thead th Amount th th Charges th thead tbody tr item Amount tr tr item Charges
  • 仅当字段存在时才按字段排序

    我试图获取所有用户 并按另一个表上的字段对它们进行排序 但是该字段并不总是存在 用户 持有用户 用户元 保存元数据 特别是 权重 这是我想要排序的 一个更具体的解决方案是自动定义它们的默认权重 但是我是否可以让它在没有权重的情况下工作 当前
  • golang 服务器上的 CORS 和 javascript 获取前端

    我有一个 golang HTTP 服务器 代码如下 http HandleFunc login func w http ResponseWriter r http Request log Println New incoming reque
  • 制作用户定义的类 std::to_string-able

    我知道 Java 或 C 似乎太多了 但是 是否有可能 好 明智地使我自己的类有效作为函数的输入std to string 例子 class my class public std string give me a string of yo
  • 来自模板化对象的 Java 8 函数式构造函数

    我正在使用 Eclipse Luna Service Release 2 4 4 2 Java 8 u51 我正在尝试创建一个方法 该方法将根据另一个方法参数创建传递的对象的实例 原型简化为 public
  • 如何使用不可变数据类型实现 DFS

    我正在尝试找出一种 Scala 风格的图形遍历方式 最好使用 val 和不可变数据类型 鉴于下图 val graph Map 0 gt Set 1 1 gt Set 2 2 gt Set 0 3 4 3 gt Set 4 gt Set 3
  • 邪恶的pdf不渲染页眉/页脚

    我在用邪恶 pdf https github com mileszs wicked pdf用于生成pdf from html在我的 Rails 项目上 正在渲染template但我无法打印header footer部分 下面是我的仅打印的代