Type: ReportViewer
ReportViewer
ReportForm
type ReportForm = Record<string, any>;
sample
const reportForm = {
report: {
page: {
pageHeader: {
...
}
...
}
...
},
data: {
dataName1: {
type: 'simple',
...
},
dataName2: {
type: 'band',
...
}
...
}
}
ReportData
type ReportData = Record<string, any>;
sample
dataName1: {
values: [
{
...
}
...
]
}
ReportDataSet
type ReportDataSet = Record<string, ReportData>;
sample
const dataSet = {
dataName1: {
values: [
{
...
}
...
]
},
dataName2: {
values: [
{
...
}
...
]
}
}
ReportFormSet
type ReportFormSet = { form: ReportForm; dataSet?: ReportDataSet };
sample
{
form: {
/* ReportForm */
},
dataSet: {
/* ReportDataSet */
}
}
ImageExportOptions
declare enum CCITTScheme {
GROUP_3 = 'g3',
GROUP_3_2D = 'g3-2d',
GROUP_4 = 'g4',
}
interface ITiffOptions {
dpi?: number;
grayscale?: boolean;
encoding?: CCITTScheme;
}
interface ImageExportOptions {
type?: 'png' | 'jpeg' | 'jpg' | 'gif' | 'tif' | 'tiff';
fileName?: string;
zipName?: string;
tiff?: ITiffOptions;
}
DocExportOptions
interface DocExportOptions {
type: 'hwp' | 'docx';
fileName?: string;
}
PdfFont
interface PdfFont {
file: string;
name: string;
content: string;
style?: 'normal' | 'italic';
weight?: 'normal' | 'bold';
}
PDFExportOptions
/**
* PDF내보내기시 인자로 사용되는 옵션
*/
export type PDFExportOptions = {
/**
* pdf 문서에서 사용할 폰트의 목록 입니다.
*/
fonts: PdfFont[];
/**
* download할 때 사용할 filename
* filename이 없으면 다운로드 되지 않습니다.
*/
filename?: string;
/**
* 새로운 창을 열어 PDF문서를 미리보기 할 수 있습니다.
* 지원되는 브라우저가 제한될 수 있습니다.
*/
preview?: boolean;
/**
* 이 옵션을 이용해 내보낸 PDF문서에
* 소유자(owner)권한의 암호를 설정할 수 있습니다.
*/
ownerPassword?: string; // 소유자 암호
/**
* 이 옵션을 이용해 내보낸 PDF문서에
* 사용자(user)권한의 암호를 설정할 수 있습니다.
*/
userPassword?: string;
/**
* 권한에 따른 기능을 제한 할 수 있습니다.
*/
permissions: IPdfPermissions;
pdfVersion: '1.3' | '1.4' | '1.5' | '1.6' | '1.7' | '1.7ext3';
};
interface IPdfPermissions {
/**
* 'lowResolution' | 'highResolution' 인쇄 허용 여부
*/
printing?: 'lowResolution' | 'highResolution';
/**
* 파일 수정 허용 여부
*/
modifying?: boolean;
/**
* 텍스트 또는 그래픽 복사 허용 여부
*/
copying?: boolean;
/**
* 주석 및 양식 작성 허용 여부
*/
annotating?: boolean;
/**
* 양식 작성 및 서명 허용 여부
*/
fillingForms?: boolean;
/**
* 접근성을 위한 텍스트 복사 허용 여부
*/
contentAccessibility?: boolean;
/**
* 문서 취합 허용 여부.
*/
documentAssembly?: boolean;
}
PDFExportBlobOptions
/**
* PDF를 Blob으로 내보내기시 인자로 사용되는 옵션
*/
export type PDFExportBlobOptions = {
/**
* pdf 문서에서 사용할 폰트의 목록 입니다.
*/
fonts: PdfFont[];
/**
* 이 옵션을 이용해 내보낸 PDF문서에
* 소유자(owner)권한의 암호를 설정할 수 있습니다.
*/
ownerPassword?: string; // 소유자 암호
/**
* 이 옵션을 이용해 내보낸 PDF문서에
* 사용자(user)권한의 암호를 설정할 수 있습니다.
*/
userPassword?: string;
/**
* 권한에 따른 기능을 제한 할 수 있습니다.
*/
permissions: IPdfPermissions;
pdfVersion: '1.3' | '1.4' | '1.5' | '1.6' | '1.7' | '1.7ext3';
};
interface IPdfPermissions {
/**
* 'lowResolution' | 'highResolution' 인쇄 허용 여부
*/
printing?: 'lowResolution' | 'highResolution';
/**
* 파일 수정 허용 여부
*/
modifying?: boolean;
/**
* 텍스트 또는 그래픽 복사 허용 여부
*/
copying?: boolean;
/**
* 주석 및 양식 작성 허용 여부
*/
annotating?: boolean;
/**
* 양식 작성 및 서명 허용 여부
*/
fillingForms?: boolean;
/**
* 접근성을 위한 텍스트 복사 허용 여부
*/
contentAccessibility?: boolean;
/**
* 문서 취합 허용 여부.
*/
documentAssembly?: boolean;
}
PreviewOptions
/**
* 리포트 프리뷰 옵션
*/
export type PreviewOptions = {
/**
* 비동기 출력으로 설정합니다.
* @default false;
*/
async?: boolean;
/**
* 비동기 출력시 페이지출력간 지연시간(milliseconds)을 지정합니다.
* @default 0;
*/
pageDelay?: number;
/**
* 비동기 출력시 출력 페이지 마커 표시 여부를 설정합니다.
* @default false;
*/
pageMark?: boolean;
/**
* 리포트가 미리보기를 처리하는 동안 로딩 인디케이터의 표시 여부를 설정합니다.
* @default false;
*/
noIndicator?: boolean;
/**
* @deprecated - 이 옵션은 미지원 예정입니다.
*
* 비동기 출력시 출력 페이지마다 스크롤 이동 여부를 설정합니다.
* @default true;
*/
noScroll?: boolean;
/**
* 미리보기 영역에서 리포트 페이지의 수평 정렬 방식을 지정합니다.
* @default 'center';
*/
align?: 'left' | 'center' | 'right';
/**
* 다국어 언어 설정 key 정보 (ko, en, jp, ...)
* @default 기본으로 설정된 언어 key
*/
language?: string;
/**
* 미리보기에서 편집 가능한 리포트로 설정
* @default undefined
*/
editable?: boolean;
/**
* 페이지 없이 출력하는 옵션으로 false인 경우 페이지 구분 없이 출력합니다.
* @default true
*/
paging?: boolean;
/**
* 미리보기가 시작될때 호출되는 콜백함수를 설정합니다.
*/
callback?: PrintPageCallback;
/**
* 미리보기 끝날때 호출되는 콜백함수를 설정합니다.
*/
endCallback?: PrintEndCallback;
/**
* @deprecated - paging 옵션을 사용하세요.
*
* 여러 페이지 문서에서 페이지 나눔 및 여백을 제거하여 단일 페이지로 출력하는 기능입니다. 이 기능은 랜더링된 HTML 문서를 화면에서 확인하기 위한 용도로 활용할 수 있습니다.
* @default false
*/
singlePage?: boolean;
/**
* @deprecated - paging 옵션을 사용하세요.
*
* singlePage가 활성화(true)되어 있을 경우, 지정할 수 있는 설정 값입니다.
*/
singlePageOptions?: SingPageOptions;
};
PrintOptions
/**
* 리포트 출력 옵션
*/
export type PrintOptions = {
/**
* 출력할 때 소요되는 준비시간의 최대 값을 설정합니다.
* @default 2000(ms)
*/
timeout?: number;
};
Core
PageBreakMode
enum PageBreakMode {
NONE = 'none',
BEFORE = 'before',
AFTER = 'after',
BOTH = 'both',
}
SinglePageOptions
🔥
@deprecated - paging 옵션을 사용하세요.
type SinglePageOptions = {
// signlePage의 외곽선 표시 여부
// default: true (표시)
border: boolean;
};
ReportItemValueCallback
type ReportItemValueCallback = (
ctx: PrintContext,
item: ReportItem,
row: number,
value: any,
) => any;
ReportItemStyleCallback
type ReportItemStyleCallback = (
ctx: PrintContext,
item: ReportItem,
row: number,
value: any,
) => {
[key: string]: string | undefined;
};
ContextValueCallback
type ContextValueCallback = (ctx: PrintContext) => any;
BoxItemsAlign
enum BoxItemsAlign {
START = 'start',
MIDDLE = 'middle',
END = 'end',
}
PrintPageCallback
export type PrintPageCallback = (
ctx: PrintContext,
page: PrintPage,
pageNo: number,
) => void;
PrintEndCallback
export type PrintEndCallback = (ctx: PrintContext, pages: PrintPage[]) => void;
EditType
enum EditType {
TEXT = 'text'
}