我的GSP页面有多个表格,还有一些其他HTML元素,如输入文本字段和标题<h1> <h2>文本.
我希望在生成的文本中捕获所有这些信息.
到目前为止,我看到的例子只适用于生成一个表.
有没有一种从GSP中已经填充的所有数据生成PDF的快速方法?
我正在使用Export插件.
compile ':export:1.6'
Run Code Online (Sandbox Code Playgroud)
以下是我到目前为止尝试的示例代码.
它绘制一个带标题的表,行中没有数据.
def myPDFexport () {
String userNumber = params.UserInfoInstance;
UserInfo userObj = UserInfo.findByNumber(userNumber);
params.format = "pdf";
params.extension = "pdf"
List fields = ["User ID", "User Name", "User Password"]
Map labels = [userID: "User ID", userName: "User Name", userPW: "User Password"]
if(params?.format && params.format != "html"){
response.contentType = grailsApplication.config.grails.mime.types[params.format]
response.setHeader("Content-disposition", "attachment; filename=${woNumber}.${params.extension}")
exportService.export(params.format, response.outputStream, userObj.list(params), fields, labels, [:], [:])
}
}
Run Code Online (Sandbox Code Playgroud)
我几乎迷失了,因为我是Grails的新手,也没有以前的PDF生成经验.
如果可能,请提供一些示例代码.
有很多解决方案来创建PDF.
作为第一个简单的方法,您应该看看Grails渲染插件.
您可以使用任何视图或模板来生成pdf(或图像).
将插件添加到项目后,您可以向控制器添加这样的操作:
def createPdfReport = {
renderPdf(template: '/templates/pdf/yourtemplate', model: yourmodel, filename: "yourTitle")
}
Run Code Online (Sandbox Code Playgroud)
它将使用指定的模板生成pdf并将其作为响应发送给客户端.
有关详细信息,请查看插件文档.