본문 바로가기
etc

[Jasper Report] Base64 코드로 이미지 추가하기

by 말랑구미구미 2023. 12. 5.

Jasper Report를 사용하면서 Base64 코드로 이미지를 추가해야하는 경우가 발생했다

이때 코드를 불러오는 방법은 2가지로 생각해볼 수 있었다.

 

1) CLOB 타입으로 선언된 컬럼에 담아둔 Base64코드를 Field로 불러오기

2) 이클립스에서 변수선언을 하여 parameter로 넘겨주기

 

2가지를 모두 시도하였으나 1) 방법의 경우 CLOB이라는 타입을 이겨내지 못해 실패했다.

하여 2) 방법을 사용하였다.

 

* 1. Palette에 있는 이미지를 선택한다

 

2. 위와같은 설정창이 떴다면 "Custom expression"을 선택한다.

3. 하단 Options에 아래와 같은 코드를 입력한다.

new ByteArrayInputStream(org.apache.commons.codec.binary.Base64.decodeBase64($P{custSign}.getBytes()))

 

4. 이때, $P{custSign} 은 파라미터 명이다. 사용자가 설정한 파라미터를 저 부분에 넣어주면 된다.

5. 주의! 

 - Base64코드를 다 불러오면 안된다. 코드 앞단에 있는 data:image/png;base64, 까지는 자르고 넘겨주어야 한다.

하여, javascript 단에서 parameter로 넘겨줄 때 가공을 해서 넘겨주었다

let strCustSign = objData.substr(22);

 

'etc' 카테고리의 다른 글

[Jasper Report] summary 사이에 Last Page Footer가 들어갈 때  (1) 2023.12.05