【问题标题】:Grails render-plugin does not render imagesGrails 渲染插件不渲染图像
【发布时间】:2017-09-17 00:40:50
【问题描述】:

我现在已经设置了渲染插件,我得到了不错的 PDF 文件,但我还需要将图像放入表格中的几列中。这些图像由实例的数据字段有条件地选择。

我在 assets/images 文件夹中有图像,因为我认为这是正确的位置。

我在模板中使用以下 GSP 行,渲染器将使用它来创建 PDF。

<td><g:if test="${od?.priceFSC > 0.1}"><asset:image src="checkOut16x16.png" width="16" height="16"/></g:if></td>

作为 HTML 视图,图像打印完美,但在呈现 PDF 时它们丢失了。

我检查了文档并尝试了示例中的代码:

控制器:

def createPDF() {
    def file = new File("asets/CheckOut16x16.png")
    def OfferHeader offerHeader = OfferHeader.get(params.id)
[offerHeader: offerHeader])
    renderPdf(template: "/stocknote/Stocknote", model: [offerHeader: offerHeader,imageBytes: file.bytes],   filename: "Stocknote-"+params.id+".pdf")
}

观点:

<rendering:inlinePng bytes="${imageBytes}" class="some-class" />

我不在乎这里的情况我只是想看看它是否会被打印,但这不是因为视图崩溃了:

URI
    /stocknote/editStocknote/32
Class
    org.grails.taglib.GrailsTagException
Message
    Request processing failed; nested exception is org.grails.gsp.GroovyPagesException: Error processing GroovyPageView: [views/stocknote/editStocknote.gsp:32] [views/stocknote/_StocknoteDetail.gsp:3] 'bytes' is required
Caused by
    [views/stocknote/editStocknote.gsp:32] [views/stocknote/_StocknoteDetail.gsp:3] 'bytes' is required

我不知道我做错了什么,但错误消息似乎令人困惑,“需要字节”但我有 bytes="${imageBytes}"。 希望有人能给我一些帮助或解释。

【问题讨论】:

    标签: image pdf grails render


    【解决方案1】:

    听起来你的文件路径不正确,试试:

    控制器:

    def assetResourceLocator
    
    def createPDF() {
        def file = assetResourceLocator.findAssetForURI( 'CheckOut16x16.png' )
        def OfferHeader offerHeader = OfferHeader.get(params.id)
        [offerHeader: offerHeader])
        renderPdf(template: "/stocknote/Stocknote", model: [offerHeader: offerHeader,imageBytes: file.getByteArray()],   filename: "Stocknote-"+params.id+".pdf")
    }
    

    视图应该没问题。

    【讨论】:

    • 这行得通,但我犯了一个错误>_
    【解决方案2】:

    犯了一个大错误>_

    <g:if test="${imageBytes!= null}"> <rendering:inlinePng bytes="${imageBytes}" /></g:if>
    

    这正是我们所需要的。

    【讨论】:

      猜你喜欢
      • 2017-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-29
      相关资源
      最近更新 更多