Grails生成pdf

pdf的生成没有使用grails提供的pdf插件,依旧采用了itext生成pdf
在controller中导出pdf的action如下:
def exportPDF = {
response.setHeader("Content-disposition", "attachment; filename=profitReport.pdf")
response.contentType = "application/pdf"
def out = response.outputStream
def id = params.id
exportPdfService.exportProfitReport(out,id)
out.close()
}


在grails应用程序中写了一个service专门用于导出各个pdf,其中exportProfitReport()方法如下,
def exportProfitReport(OutputStream out,String id) {
def document = new Document(PageSize.A4, 36, 36, 36, 36)
PdfWriter.getInstance(document, out)
document.open()

……
document.close();
}

省略的部分用于构建pdf的页面布局,有点惨不忍睹,就不贴出了。
在使用itext时,最好对itext的类做些封装,便于简化开发。

你可能感兴趣的:(Groovy,on,Grails)