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 は questionInstance のデータとともに表示されます。エラーメッセージはまったくありません。

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 に答える