2015-02-17 84 views
0

我們正在嘗試將圖像作爲流發送到Grails 2.4.3中的方法。iText不在Grails Web應用程序中渲染圖像

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

我們調用其他服務來顯示PDF

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

我們使用com.lowagie.text.Image從2.1.7的iText和POI 3.9-20121203

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

該圖像不是爲我們輸出的PDF報告呈現的。這似乎是將圖像呈現給PDF的正確方法嗎?

+0

的iText 2.1 .7 =沒有機會得到答案。 – 2015-02-18 08:02:58

回答

0

這個問題是通過改變使用下面的代碼初始呼叫解決:

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

取而代之的初始方式

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

感謝,

湯姆