具有密码保护的Grails renderPdf

Grails renderPdf with pssword protection

有谁知道如何在 Grails 3.0.8 的 renderPdf (org.grails.plugins:rendering:2.0.3) 上应用密码?我尝试用谷歌搜索但没有结果。

为了用密码保护您的 PDF 文件,您必须使用较低级别的东西,例如:

  import org.xhtmlrenderer.pdf.*

  void renderEncPdf( String url, out ){
    def enc = new PDFEncryption( 'userPassword'.bytes, 'ownerPassword'.bytes )

    ITextRenderer renderer
    try{
      renderer = new ITextRenderer()
      renderer.setPDFEncryption enc
      renderer.setDocument url
      renderer.layout()
      renderer.createPDF out
    }catch( Throwable e ){
      log.error e
    }finally{
      renderer.finishPDF()
    }
  }

url 应该是您用于生成的 GSP 视图的绝对 url。

为此我没有使用任何插件(因为现在缺少文档),它是一个简单的 itext 依赖项。也应该可以用 rendering 插件以某种方式连接