jasper report 이미지 바인딩하기

연어는결국강으로·2023년 9월 16일
0

jasper report studio

목록 보기
3/4

JasperReports에서 파일 입력(예: 이미지나 다른 리소스 파일)을 처리하려면 일반적으로 파라미터 또는 필드를 사용하여 해당 파일의 경로나 바이트 배열을 전달합니다.

다음은 파일 입력을 처리하는 주요 방법을 몇 가지 나열한 것입니다:

  1. 파라미터를 사용하여 이미지 바인딩:
    보고서에 이미지를 삽입하려면 파라미터를 사용하여 이미지의 경로나 바이트 배열을 전달할 수 있습니다.

    • .jrxml 파일에서 파라미터를 정의합니다:
      <parameter name="imageParam" class="java.lang.String"/>
    • 이미지 컴포넌트를 보고서에 추가하고, Expression 속성을 아래와 같이 설정합니다:
      <image>
          <imageExpression><![CDATA[$P{imageParam}]]></imageExpression>
      </image>
    • Java 코드에서 이미지 경로를 파라미터로 전달합니다:
      Map<String, Object> params = new HashMap<>();
      params.put("imageParam", "path_to_your_image.jpg");
      JasperPrint print = JasperFillManager.fillReport(jasperReport, params, dataSource);
  2. 필드를 사용하여 이미지 바인딩:
    데이터 소스의 일부로 이미지를 전달하려면 필드를 사용할 수 있습니다.

    • .jrxml 파일에서 필드를 정의합니다:
      <field name="imageField" class="java.awt.Image"/>
    • 이미지 컴포넌트의 Expression 속성을 아래와 같이 설정합니다:
      <image>
          <imageExpression><![CDATA[$F{imageField}]]></imageExpression>
      </image>
    • Java 객체에 이미지를 포함하여 데이터 소스를 준비합니다. 이렇게 하려면 Java 객체에 Image 타입의 속성과 해당 속성의 getter 메소드가 필요합니다.
  3. 바이트 배열로 이미지 바인딩:
    이미지를 바이트 배열로 전달하려면 InputStream 또는 byte[] 형식을 사용할 수 있습니다. 이 방법은 DB에서 이미지를 직접 읽어올 때 유용합니다.

위의 방법 중 하나를 선택하여 파일 입력을 JasperReports에 바인딩할 수 있습니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN