我正在使用Play 1.2.3
编写网络应用程序。其中一项功能是将呈现的HTML
页面导出为PDF
。我已经根据服务器发送的参数动态呈现了HTML
模板
我打算使用wkhtmltopdf将呈现的HTML转换为PDF。有没有一种方法可以拦截最终HTML
(由框架处理,通过替换所有模板标签)为此目的..?或者有更好的方法来实现这一目标吗?
答案 0 :(得分: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;
}
}