iText不在Grails Web应用程序中渲染图像

时间:2015-02-17 21:05:51

标签: grails pdf itext

我们正在尝试将图像作为流发送到Grails 2.4.3中的方法。

def imgStream
imgStream = servletContext.classLoader.getResourceAsStream("/assets/Logo.jpg")

我们调用另一个服务来呈现PDF

ByteArrayOutputStream  output = licensePlanReportsService.renderLicensingPlanPDF(licensingPlanInstance, internal, imgStream)

我们正在使用来自iText 2.1.7和poi 3.9-20121203的com.lowagie.text.Image

if(imgStream) {
    Image logo = Image.getInstance(imgStream.getBytes())
    logo.scaleAbsolute(128.64, 88.32)
    logo.setAbsolutePosition(25, 485)
    document.add(logo)
}

我们在输出PDF报告时没有为我们渲染图像。这似乎是将图像渲染为PDF的正确方法吗?

1 个答案:

答案 0 :(得分:0)

通过使用以下代码更改初始调用解决了此问题:

imgStream = grailsAttributes.getApplicationContext().getResource("Logo.jpg").getInputStream()

而不是最初的方式

imgStream = servletContext.classLoader.getResourceAsStream("/assets/Logo.jpg")

谢谢,

汤姆