문서
API
Report 파일 구조

Report 파일 구조

RealReport 디자이너에서 RealReport는 확장명 .r2를 가진 파일로 관리됩니다.

R2파일의 전체 구조는 아래와 같습니다.

{
    "report": {
 
    },
    "page": {},
    "assets": {},
    "data": {},
    "guid": {}
}

report

report는 보고서 출력을 위한 설정 정보를 포함하고 있습니다. 출력할 종이의 크기 및 마진과 같은 프린터 설정 정보를 이곳에 기록합니다.

{
    "repot": {
        "name": "reportRoot",
        "paperSize": "A4",
        "paperWidth": "210mm",
        "paperHeight": "297mm",
        "marginLeft": "12mm",
        "marginRight": "12mm",
        "marginTop": "15mm",
        "marginBottom": "15mm"
    }
}

name

  • 리포트 이름

pageSize

  • 종이 종류

paperWidth

  • 종이 너비

paperHeight

  • 종이 높이

marginLeft

  • 왼쪽 마진

marginRight

  • 오른쪽 마진

marginTop

  • 윗쪽 마진

marginBottom

  • 아랫쪽 마진

page

출력할 페이지에 포함된 아이템들이 이곳에 기록됩니다. 텍스트, 이미지등 기본 아이템 뿐만 아니라 테이블 밴드와 컨테이너같은 다양한 밴드 및 컨테이너 아이템도 이곳에 기록됩니다. pageheader, body, footer영역으로 구분되며, headerfooter는 보고서 전체에 한 번만 출력되는 report영역과 페이지 마다 출력되는 page역역으로 각각 구분되어

  • reportHeader, reportFooter
  • pageHeader, pageFooter

와 같이 page하위에 별도의 구조로 기록되어 있습니다.

{
    "page": {
        "name": "reportPage",
        "reportHeader": {},
        "pageHeader": {},
        "body": {},
        "pageFooter": {},
        "reportFooter": {}
    }
}

name

  • 페이지 객체 이름

reportHeader

  • 리포트 헤더 섹션
  • 리포트의 최 상단에 한 번 출력되는 영역입니다.
{
    "reportHeader": {
        "name": "",
        "height": 0,
        "items": []
    }
}

pageHeader

  • 페이지 헤더 섹션
  • 리포트의 매 페이지 마다 상단에 출력되는 영역입니다.
{
    "pageHeader": {
        "name": "",
        "height": 0,
        "items": []
    }
}

body

  • 바디 섹션
  • 리포트의 내용이 출력되는 영역이고 Band 아이템들과 데이터의 조합으로 여러페이지로 나누어 출력될 수 있습니다.
{
    "body": {
        "name": "",
        "height": 0,
        "items": []
    }
}

pageFooter

  • 페이지 푸터 섹션
  • 리포트의 매 페이지 마다 하단에 출력되는 영역입니다.
{
    "pageFooter": {
        "name": "",
        "height": 0,
        "items": []
    }
}

reportFooter

  • 리포트 푸터 섹션
  • 리포트의 최 하단에 한 번 출력되는 영역입니다.
{
    "reportFooter": {
        "name": "",
        "height": 0,
        "items": []
    }
}

assets

  • 이미지등 에셋 목록

data

  • 리포트에서 사용할 데이터셋의 구조
{
    "data": {
        "data1": {
            "type": "band",
            "fields": [
                {
                    "fieldName": "",
                    "dataType": "",
                    "sample": "",
                    "description": "",
                    "dateReader": {}
                }
            ],
        },
        "data2": {
            "type": "simple",
            "fields": [
                ...
            ],
        }
    }
}

type

  • 데이터셋 타입

fields

  • 데이터 필드 구조

fieldName

  • 필드명

dataType

  • 데이터 타입

sample

  • 샘플 값

description

  • 필드 설명

dataReader

  • 데이터 리더

guid

  • 리포트 GUID