我们正在尝试将图像作为流发送到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的正确方法吗?
答案 0 :(得分:0)
通过使用以下代码更改初始调用解决了此问题:
imgStream = grailsAttributes.getApplicationContext().getResource("Logo.jpg").getInputStream()
而不是最初的方式
imgStream = servletContext.classLoader.getResourceAsStream("/assets/Logo.jpg")
谢谢,
汤姆