FreeReportv0.9.0English

인쇄·PDF·엑셀·CSV

정확한 용지 크기로 인쇄하고, 한글 글꼴을 내장한 PDF, 양식 그대로·데이터 엑셀, CSV, 한글 HWPX로 저장하는 방법입니다.

인쇄는 보고서의 용지 크기 그대로 브라우저 인쇄를 쓰며 줄바꿈도 화면과 같습니다. PDF는 트루타입 글꼴을 부분 내장해 글자를 검색하고 복사할 수 있습니다. 엑셀 "양식 그대로(form)"는 인쇄 모양을 병합 셀과 테두리로 살리고, "데이터(data)"는 한 행에 한 건씩 써서 이어서 작업하기 좋습니다.

import { createReport } from '@freereportjs/core';

const report = createReport(definition, { rows });
await report.ready();                    // wait for web fonts, then lay out

await report.print();                    // browser print at the paper size
const pdf = await report.toPdf();        // Blob, fonts embedded
const form = await report.toXlsx('form'); // merged cells and borders, like the printout
const data = await report.toXlsx('data'); // one row per record
await report.download('pdf', '매출 보고서'); // or save directly
이름타입설명
createReport(def, data, options?)Report뷰어 없이 정의와 데이터를 묶습니다.
ready()Promise<LayoutResult>웹 글꼴을 기다린 뒤 레이아웃. 브라우저에서 처음 출력 전에 호출합니다.
layout()LayoutResult페이지, 행 수, 걸린 시간(캐시됨).
print({ pages? })Promise<boolean>정확한 용지 크기로 브라우저 인쇄.
toPdf()Promise<Blob | null>글꼴을 부분 내장한 PDF.
toXlsx('form' | 'data')Promise<Blob | null>"form"은 병합·테두리 유지, "data"는 한 행에 한 건.
toHwpx()Promise<Blob | null>인쇄한 페이지와 같은 배치의 한/글 문서(.hwpx, KS X 6101).
toCsv()Promise<Blob | null>CSV(엑셀에서 한글이 깨지지 않도록 BOM 포함).
download('pdf' | 'xlsx' | 'xlsx-data' | 'csv' | 'hwpx', name?)Promise<boolean>파일을 만들어 저장합니다.