0

我正在使用Play 1.2.3. 其中一项功能是将呈现的HTML页面导出为PDF. 我已经HTML根据服务器发送的参数动态呈现了模板。
我打算使用wkhtmltopdf 将呈现的 HTML 转换为 PDF。有没有一种方法可以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 回答