Haskell 如何创建PDF报告,每页都有页眉和页脚?

Haskell 如何创建PDF报告,每页都有页眉和页脚?,haskell,pdf,report,web-deployment,yesod,Haskell,Pdf,Report,Web Deployment,Yesod,我目前正在试用带有html2PDF函数的Yesod.Content.PDF,但我还需要一种方法为我的报告的每一页创建页脚和页眉。有没有一种方法可以做到这一点,或者有一种更好的工具可以用于Yesod生态系统?我曾考虑过使用Jasper Reports,但它需要更多的安装和处理其他语言(Java),我希望避免这种开销,并尽可能地使事情变得小而简单。使用CSS可以很容易地做到这一点: .header { position: fixed; top: 36px; left: 51px; }

我目前正在试用带有html2PDF函数的
Yesod.Content.PDF
,但我还需要一种方法为我的报告的每一页创建页脚和页眉。有没有一种方法可以做到这一点,或者有一种更好的工具可以用于Yesod生态系统?我曾考虑过使用Jasper Reports,但它需要更多的安装和处理其他语言(Java),我希望避免这种开销,并尽可能地使事情变得小而简单。

使用CSS可以很容易地做到这一点:

.header {
  position: fixed;
  top: 36px;
  left: 51px;
}

.footer {
  position: fixed;
  bottom: 0;
}

您可以使用CSS样式设置页眉和页脚信息。@BobDalgleish您能举个例子吗?我刚刚搜索了“html2pdf页眉和页脚”,并给出了很多例子。@BobDalgleish没有例子解决了我的问题,您已经做了吗\你能从CSS中得到任何结果吗?我在另一个项目中发现的一个问题是,一些CSS对媒体类型很敏感。我们在工作中使用Puppeter,而您的库使用wkhtmltopdf,但它至少可以在每个页面上为我们工作。这就是问题所在,仅使用wkhtmltopdf,我甚至无法按照其文档说明的方式理解它。非常糟糕的库接口。请尝试使用Puppeter(安装)。它使用无头Chrome,所以它与从Chrome执行文件>打印相同。它比其他方法更可靠,因为您可以使用完整的浏览器引擎。