0

我正在尝试使用 Grails wkhtmltopdf 插件(https://github.com/quorak/grails-wkhtmltopdf),但我无法获得渲染的 pdf 文件。仅显示 gsp 模板。

到目前为止我做了什么:

这是链接,它调用控制器中的操作:

<g:link action="downloadQuestionnaire" id="${questionnaireInstance?.id}">Download questionnaire</g:link>

这是控制器中的操作:

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 ist 工作正常。

根据我对 wkhtmltopdf 插件的理解,模板 _questionnaire.gsp 应该呈现为可供下载的 pdf。但在我的例子中,gsp-template 与问卷实例的数据一起显示。根本没有错误消息。

任何想法,如何获得pdf输出?

4

1 回答 1

0

将 pdf: 'application/x-pdf' 添加到 Config.groovy 中的 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>

希望它有所帮助。

于 2014-01-04T07:22:44.613 回答