我们正在尝试将图像作为流发送到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的正确方法吗?
最佳答案
通过使用以下代码更改初始调用,解决了此问题:
imgStream = grailsAttributes.getApplicationContext().getResource("Logo.jpg").getInputStream()
代替最初的方式
imgStream = servletContext.classLoader.getResourceAsStream("/assets/Logo.jpg")
谢谢,
汤姆
关于grails - iText无法在Grails Web应用程序中呈现图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28571103/