我正在尝试使用Grails wkhtmltopdf插件(https://github.com/quorak/grails-wkhtmltopdf),但我无法获得渲染的pdf文件。只显示gsp模板。
到目前为止我做了什么:
这是在Controller中调用操作的链接:
<g:link action="downloadQuestionnaire" id="${questionnaireInstance?.id}">Download questionnaire</g:link>
这是Controller中的操作:
def downloadQuestionnaire = {
def questionnaire = Questionnaire.get(params.id)
render( filename:"File ${questionnaire.id}.pdf",
view:'/templates/pdf/_questionnaire.gsp',
model:[questionnaireInstance: questionnaire],
marginLeft:20,
marginTop:35,
marginBottom:20,
marginRight:20,
headerSpacing:10,
)
}
_questionnaire.gsp是模板,应该呈现为pdf。
在config.groovy
中grails.plugin.wkhtmltox.binary = "/usr/local/bin/wkhtmltopdf"
我检查过,wkhtmltopdf工作正常。
根据我对wkhtmltopdf插件的理解,模板_questionnaire.gsp应该呈现为pdf可供下载。 但在我的情况下,gsp-template显示了问卷实例的数据。 根本没有错误消息。
任何想法,如何获得pdf输出?
答案 0 :(得分:0)
在Config.groovy中将pdf:'application / x-pdf'添加到grails.mime.types
grails.mime.types = [
all: '*/*',
....,
pdf: 'application/x-pdf'
]
并尝试调用controller / action.pdf或将您的g:link标记定制到此
<g:link action="downloadQuestionnaire" id="${questionnaireInstance?.id}.pdf">Download questionnaire</g:link>
希望它有所帮助。