我正在使用 grails 渲染插件生成 pdf。
在开发过程中,我使用带 src 的标签将图像包含到服务器上的图像中。它工作正常,但部署应用程序后就不再工作了。图像就消失了。
我正在通过模板进行渲染,因此当我在 gsp 中调用此模板时,这是可以的(即我看到带有图像的 pdf 的 html 版本),但是当使用渲染 Pdf 在我的控制器中调用时,没有图像。
同样,仅在已部署的应用程序(战争)中,而不是在开发中。
有什么提示吗?
编辑:根据大众的要求,这里是代码:
_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>
控制器的相关部分是
def pdf={
renderPdf(template: "/file/pdf", filename: "myfile.pdf")
}
我已经看了这两天令人沮丧的事情,并尝试了很多东西。我的建议,也是他们在文档中给出的建议是坚持使用内联图像。我的意思是以其字节形式定义图像。您不会后悔的,并且您将确信渲染插件将与其他插件(例如 ui-performance 和 resources)配合良好。
首先像这样创建文件对象
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 https://github.com/gpc/grails-rendering/issues/4,然后查看您拉入的 iText 版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)