【问题标题】:Grails : Generating PDF from GSPGrails:从 GSP 生成 PDF
【发布时间】:2015-03-19 23:09:00
【问题描述】:

我的 GSP 页面有多个表格以及一些其他 HTML 元素,例如输入文本字段和标题 <h1> <h2> 文本。

我希望在生成的文本中捕获所有这些信息。

到目前为止,我看到的示例仅适用于生成一张表。

有没有一种从 GSP 中已经填充的所有数据生成 PDF 的快速方法?

我正在使用导出插件。

compile ':export:1.6'

下面是我目前尝试的示例代码。

它绘制一个带有标题的表格,而行中没有数据。

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 的经验。

如果可能,请提供一些示例代码。

【问题讨论】:

    标签: grails groovy


    【解决方案1】:

    有很多创建 PDF 的解决方案。

    作为第一个简单的方法,您应该查看Grails rendering plugin

    您可以使用任何视图或模板来生成 pdf(或图像)。

    将插件添加到您的项目后,您可以向控制器添加这样的操作:

    def createPdfReport = {
        renderPdf(template: '/templates/pdf/yourtemplate', model: yourmodel, filename: "yourTitle")
    }
    

    它将使用指定的模板生成pdf并将其作为响应发送给客户端。

    有关更多信息,请查看插件文档。

    【讨论】:

    • 文档页面抛出404,链接改了吗?
    【解决方案2】:

    在您的 grails-app>BuildConfig> 中添加以下内容

    compile ':pdf:0.6'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-08
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      相关资源
      最近更新 更多