【发布时间】:2022-06-22 19:18:24
【问题描述】:
我正在使用一个完整的堆栈 rails 应用程序,试图为每个“打印”的页面添加一个标题。 pdf 是通过使用 PdfController.renderer.render 创建一个字符串并将其传递给 html 页面的模板来生成的,然后将其传递给 wickedpdf 的 pdf_from_string 方法。我尝试使用打印媒体查询来设置标题的样式,生成 pdf 时似乎没有受到影响,因为它在技术上没有被“打印”(我认为?)
有人有这方面的经验吗?
【问题讨论】:
-
我对 wicked_pdf 有很多经验。您能否发布一些您所描述的代码?您是否将完整的 HTML 文档传递给标题(包括 doctype/head/body?您可以尝试设置背景颜色并将边距/填充选项调整为 0 开始。有时默认边距和填充使它看起来像标题不是在那里,但它只是被边距覆盖,或者被填充到可见的“标题”区域之外。
-
另外,一些安装
wkhtmltopdf的系统包使用的版本不是用QT构建的,并且不能提供一些高级功能,例如页眉和页脚。你是如何在你的系统上安装wkhtmltopdf的? -
还可以尝试使用
print_media_type: true选项来使用打印样式表,默认情况下wkhtmltopdf使用屏幕媒体类型。 -
@Unixmonkey 我不确定我是否可以发布代码 sn-p 因为这是我的工作,哈哈,但为了更具体一点,我在 html 正文中添加了一个 div被传递给 wickedpdf,并希望该 div 出现在创建的每个页面的顶部。我尝试使用 position: fixed 和 top: 0 进行样式设置,这确实被应用了,当我使用媒体屏幕查询时我可以看到它(这是有道理的,因为你说它默认使用它),但是它不会重复每一页,只有第一页
标签: css ruby-on-rails wicked-pdf