0

我正在尝试使用 bootstrap.css 来设置由 grails 渲染插件生成的 pdf 样式。pdf 生成良好,但没有应用任何 css 样式。

在过去的几天里一直在寻找这个问题的答案,但一无所获。

使用渲染插件将模板转换为pdf时css背景不起作用

Grails渲染插件css问题

所有答案都表明解决方案是确保 grails.serverURL 在 Config groovy 中正确设置。

目前在以安全模式运行的开发机器上运行,所以我已经设置grails.serverURL="https://localhost:8443/"并尝试了不同的变体。

文件模板代码.gsp如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <title>Invoice</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

        <style  type="text/css">
            @page {
            size: A4 landscape;

            }

        </style>

        <link rel="stylesheet" href="${resource(dir: 'css', file: 'bootstrap.css')}"/>
        <r:layoutResources/>
    </head>
    <body>
    <div class="content">
        <div class="well">
        <p class="pull-right">Invoice: ${companyName.encodeAsHTML()}</p></div></div>
        <r:layoutResources/>
    </body>
</html> 

任何建议将不胜感激。

4

2 回答 2

0

你有没有为背景图片尝试过内联css?,我认为它应该可以工作,虽然我没有尝试过,但应该可以工作。

于 2013-05-21T15:25:53.377 回答
0

由于您依赖于grails.serverURL设置,因此您应该能够充分利用资源插件的风格。

如果您将bootstrap-app.cssor声明bootstrap.min.css为应用程序资源模块,您应该可以require在 gsp 中将它们如下所示。您可以尝试这种方法,否则您必须使用我在您之前提到的问题中提到的内联 css。我不得不坚持使用内联 CSS,因为我不是指grails.serverURL主机。我的应用程序在不同的环境中使用了主机覆盖。

//ApplicationResources.groovy
bootstrap {
    //resource url:'/css/bootstrap-app.css'
    resource url:'/css/bootstrap.min.css'
}

//GSP
<head>
    <title>Invoice</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <r:require modules="bootstrap"/>
    <r:layoutResources/>
</head>
<body>
<div class="content">
    <div class="well">
    <p class="pull-right">Invoice: ${companyName.encodeAsHTML()}</p></div></div>
    <r:layoutResources/>
</body>
于 2013-05-21T15:35:27.280 回答