이제 렌더 플러그인을 설정 했으므로 멋진 PDF 파일을 얻을 수 있지만 이미지를 내 테이블의 몇 열에 넣어야합니다. 이러한 이미지는 인스턴스의 데이터 필드에 의해 조건부로 선택됩니다.Grails 렌더링 플러그인이 이미지를 렌더링하지 않습니다.
나는 올바른 장소라고 생각하므로 assets/images 폴더에 이미지가 있습니다.
렌더러가 PDF를 만들 때 사용할 템플릿에서 다음 GSP 라인을 사용합니다.
<td><g:if test="${od?.priceFSC > 0.1}"><asset:image src="checkOut16x16.png" width="16" height="16"/></g:if></td>
HTML보기로 이미지가 완벽하게 인쇄되지만 PDF를 렌더링 할 때 누락되었습니다.
나는 문서를 확인하고 예제의 코드 시도 :
을 컨트롤러 :
def createPDF() {
def file = new File("asets/CheckOut16x16.png")
def OfferHeader offerHeader = OfferHeader.get(params.id)
[offerHeader: offerHeader])
renderPdf(template: "/stocknote/Stocknote", model: [offerHeader: offerHeader,imageBytes: file.bytes], filename: "Stocknote-"+params.id+".pdf")
}
뷰 :
<rendering:inlinePng bytes="${imageBytes}" class="some-class" />
내가 여기 상태의 관심이 없었어요 단지 그것이 인쇄 될지 알고 싶었지만보기가 엉망이되어서가 아니기 때문이 아닙니다 :
URI
/stocknote/editStocknote/32
Class
org.grails.taglib.GrailsTagException
Message
Request processing failed; nested exception is org.grails.gsp.GroovyPagesException: Error processing GroovyPageView: [views/stocknote/editStocknote.gsp:32] [views/stocknote/_StocknoteDetail.gsp:3] 'bytes' is required
Caused by
[views/stocknote/editStocknote.gsp:32] [views/stocknote/_StocknoteDetail.gsp:3] 'bytes' is required
잘못 입력했는지 모르겠지만 "Bytes is required"라는 오류 메시지가 표시되지만 바이트가 "$ {imageBytes}"입니다. 누군가 도움이나 설명을 줄 수 있기를 바랍니다. 파일의 경로가 잘못처럼
저도 효과가 있었지만 실수했습니다> _ <. PDF를 만드는 데 사용되는 템플릿은 보고서를 실행하는 뷰에서도 사용됩니다. 따라서 뷰가 렌더링 될 때 오류가 발생했습니다. 렌더링 전에 이미지가 템플릿에 있는지 확인해야했습니다. – larand