Немного опоздал с игрой, но примеры в документации вводят в заблуждение.Я также попытался
new File("report.pdf").withOutputStream { outputStream ->
outputStream << pdfRenderingService.render(template: '/report/report', model: [serial: 12345])
}
, который создал пустой PDF.Имейте в виду, что это были не нулевые байты - в файле были данные, но это был пустой PDF.Проблема заключается в том, что сигнатура метода берет карту и выходной поток, тогда как в примере это выглядит так:
pdfRenderingService.render(template: '/report/report', model: [serial: 12345])
Это должно быть так:
pdfRenderingService.render([template: '/report/report', model: [serial: 12345]], new File("report.pdf").newOutputStream())
Тогда ваш PDF будет иметь содержимое.
Я думаю, что образец пытается показать сигнатуру метода renderPDF или ... ну, кому все равно нужны образцы, верно?
Надеюсь, это поможет другим.