我遇到了使用飞碟的 Grails Pdf 插件的问题。一切都按预期工作,直到我部署到运行 Tomcat6 的 Ubuntu 服务器上。然后我的 gsp 中对 css 和图像的引用失败,尽管我仍然可以渲染 PDF。
我尝试了两种不同的方法来构建 PDF
ITextRenderer renderer = new ITextRenderer()
renderer.setDocument(url)
renderer.setDocumentFromString(content, baseUri)
使用“grails prod run-war”运行战争可以正常运行,并且没有安全性的虚拟应用程序可以在本地运行,但是当我在服务器上部署它时也会失败。(尽管我试图渲染的内容都没有受到保护),图像的 URL 是正确的。(我尝试过绝对和相对 URL)都不会在 PDF 中呈现,但如果您从浏览器请求这些资源,它们就在那里。对未托管在服务器上的图像的引用确实有效。
所有这一切让我相信,当你这样做时,随 ubuntu 一起安装的 tomcat6sudo apt-get install tomcat6
以某种方式配置得很有趣。我知道它与许多安装一样使用用户“tocat6”而不是“root”运行。这是否会导致 Flying Saucer 以某种方式无法访问所引用的文件?