我刚刚安装了 grails 渲染插件,想用它来生成 PDF 文件。我创建了简单的模板,但它在没有任何 CSS 样式的情况下导出。如果我只是从 grails 渲染模板,那么页面会在我的 Web 浏览器中显示所有样式。
所以,我的问题是 - 如何在 PDF 生成过程中正确包含 CSS 文件?
我的模板:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link rel="stylesheet" href="${resource(dir:'css',file:'main.css')}" />
<link rel="stylesheet" href="${resource(dir:'css',file:'webui.css')}" />
<r:layoutResources/>
<title>Report</title>
</head>
<body>
<div id="content">
<div id="center-container">
<h1><g:message code="default.list.label" args="[entityName]" /></h1>
<table>
<thead>
<tr>
<th class="trip">trip</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>
${tip}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
我的 webui.css 中有样式 .odd,但它没有应用于行。
任何帮助,将不胜感激。
Edit1:如果我按以下方式进行操作,我发现样式已被获取:
<link rel="stylesheet" href="my_appname${resource(dir:'css',file:'main.css')}" />
但我不想硬编码应用程序名称(这也是基本上下文路径)。有没有更好的方法来生成指向 css 文件的正确链接?