Grails:从 GSP 生成 PDF
Grails : Generating PDF from GSP
我的 GSP 页面有多个 table 以及一些其他 HTML 元素,例如输入文本字段和 header <h1> <h2>
文本。
我希望所有这些信息都包含在生成的文本中。
到目前为止,我看到的示例仅适用于生成一个 table。
是否有一种快速的方法可以从 GSP 中已填充的所有数据生成 PDF?
我正在使用导出插件。
compile ':export:1.6'
下面是我到目前为止尝试的示例代码。
它用 header 绘制了一个 table,行中没有数据。
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, [:], [:])
}
}
由于我是 Grails 的新手并且以前没有生成 PDF 的经验,所以我几乎迷失了方向。
如果可能,请提供一些示例代码。
有很多创建 PDF 的解决方案。
作为第一个简单的方法,您应该查看 Grails rendering plugin。
您可以使用任何视图或模板生成 pdf(或图像)。
将插件添加到您的项目后,您可以将这样的操作添加到您的控制器:
def createPdfReport = {
renderPdf(template: '/templates/pdf/yourtemplate', model: yourmodel, filename: "yourTitle")
}
它将使用指定的模板生成 pdf 并将其作为响应发送给客户端。
有关更多信息,请查看插件文档。
在您的 grails-app>BuildConfig> 添加以下内容
compile ':pdf:0.6'
我的 GSP 页面有多个 table 以及一些其他 HTML 元素,例如输入文本字段和 header <h1> <h2>
文本。
我希望所有这些信息都包含在生成的文本中。
到目前为止,我看到的示例仅适用于生成一个 table。
是否有一种快速的方法可以从 GSP 中已填充的所有数据生成 PDF?
我正在使用导出插件。
compile ':export:1.6'
下面是我到目前为止尝试的示例代码。
它用 header 绘制了一个 table,行中没有数据。
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, [:], [:])
}
}
由于我是 Grails 的新手并且以前没有生成 PDF 的经验,所以我几乎迷失了方向。
如果可能,请提供一些示例代码。
有很多创建 PDF 的解决方案。
作为第一个简单的方法,您应该查看 Grails rendering plugin。
您可以使用任何视图或模板生成 pdf(或图像)。
将插件添加到您的项目后,您可以将这样的操作添加到您的控制器:
def createPdfReport = {
renderPdf(template: '/templates/pdf/yourtemplate', model: yourmodel, filename: "yourTitle")
}
它将使用指定的模板生成 pdf 并将其作为响应发送给客户端。
有关更多信息,请查看插件文档。
在您的 grails-app>BuildConfig> 添加以下内容
compile ':pdf:0.6'