0

を使用してWebアプリケーションを作成していPlay 1.2.3ます。HTML機能の1つは、レンダリングされたページをとしてエクスポートすることPDFです。HTMLサーバーから送信されたパラメーターに基づいて、テンプレートが動的にレンダリングされています。 レンダリングされたHTMLをPDFに変換するためにwkhtmltopdf
を 使用することを計画しています。この目的のために、ファイナル(すべてのテンプレートタグを置き換えることによってフレームワークによって処理される)をインターセプトできる方法はありますか?それとも、これを達成するためのより良い方法はありますか?HTML

4

1 に答える 1

2

そのためのモジュールがすでにあります:http ://www.playframework.org/modules/pdf

自分でやりたい場合は、Controllerクラスでテンプレートがどのように読み込まれるかを確認し、一部を置き換えて、レンダリングされたテンプレートを文字列として取得できます。

protected static String renderTemplate(String templateName, Map<String,Object> args) {
    try {
        Template template = TemplateLoader.load(template(templateName));
        // Get the template into a String
        return template.render(args);
    } catch (TemplateNotFoundException ex) {
        if (ex.isSourceAvailable()) {
            throw ex;
        }
        StackTraceElement element = PlayException.getInterestingStrackTraceElement(ex);
        if (element != null) {
            throw new TemplateNotFoundException(templateName, Play.classes.getApplicationClass(element.getClassName()), element.getLineNumber());
        } else {
            throw ex;
        }
    }
于 2012-06-15T13:09:22.323 に答える