pdf - Grails 渲染插件在部署时不渲染图像

标签 pdf grails war grails-plugin

我正在使用 grails 渲染插件生成 pdf。
在开发过程中,我将使用带有 src 标签的图像包含在服务器上的图像中。它工作正常,但在部署应用程序时不再起作用。图像就消失了。

我正在通过模板重新设计,所以当我在 gsp 中调用这个模板时,它没问题(即我看到带有图像的 pdf 的 html 版本),但是当使用 renderPdf 在我的 Controller 中调用时,没有图像。

再次仅在已部署的应用程序( war )中,而不是在开发中。

任何提示?

编辑:根据流行的要求,这里是代码:

_pdf.gsp 文件可以很简单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head/>
  <body>
    <img src="path/to/image.jpg"/>
  </body>
</html>

Controller 的相关部分是
def pdf={
     renderPdf(template: "/file/pdf", filename: "myfile.pdf")
}

最佳答案

我一直在关注这个令人沮丧的两天,并尝试了很多东西。我的建议,也是他们在文档中给出的建议是给 坚持使用内嵌图像 .我的意思是以字节形式定义图像。你不会后悔的,你会确信渲染插件会与其他插件如 ui-performance 和资源一起很好地发挥作用。

首先像这样创建文件对象

def paid = new File(ApplicationHolder.application.parentContext.servletContext.getRealPath("/images/paid.jpg"))

然后将文件的字节传入模型
renderPdf(template:invoiceTemplate, model:[paidBytes:paid.bytes])

现在在您的 pdf 模板中使用以下标签:
<rendering:inlineJpeg bytes="${paidBytes}" />

如果您没有依赖性问题,那么您应该设置。
如果您确实像我一样遇到依赖问题并指出 HERE ,然后查看您拉入的 iText 版本。

关于pdf - Grails 渲染插件在部署时不渲染图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8209707/

相关文章:

php - yii2 pdf 生成不工作

batch-file - 使用 cPDF 生成横向文件的批处理脚本?

java - 将 PDF 文件从 Java Bean 返回到 JSP

python - 裁剪 .pdf 文件的页面

grails - 如何创建一个返回多变量数据管道 “grid”的方法?

java - 更改 war 文件中的默认页面

hibernate - 如何动态修改 groovy hibernate 查询

grails - grails从 Controller 返回xml字符串

war - 如何为 payara micro 设置空上下文根?

java - JBoss AS 7 中的 war 部署