FreeReportv0.1.0English

보고서 디자인부터 인쇄까지, 브라우저에서.

FreeReport는 웹 표준으로 만든 리포팅 툴입니다. 웹 디자이너로 양식을 만들어 JSON으로 저장하고, 사용자는 화면에서 페이지별로 보고, 보이는 그대로 인쇄하고, PDF나 엑셀로 저장합니다. 플러그인, ActiveX, 인쇄 모듈처럼 설치할 것이 없습니다. 개인은 무료이고, 회사는 도메인 단위로 라이선스를 구매합니다.

npm i @freereportjs/core데모 보기사용법 보기

실제로 동작하는 뷰어입니다. 조회 조건을 바꾸고, 페이지를 넘기고, 인쇄하거나 PDF·엑셀로 저장해 보세요.

들어 있는 기능

모든 기능이 똑같이 들어 있습니다. 항목을 누르면 데모나 사용법으로 이동합니다.

설치 없는 웹 디자이너브라우저에서 밴드와 표, 필드를 배치하고 JSON으로 저장합니다. 양식 담당자 PC에 프로그램을 깔 필요가 없습니다.조회 조건이 있는 뷰어스크롤에 맞춰 그리는 SVG 페이지, 조회 조건 패널, 확대·축소, 페이지 이동, 단축키.화면과 같은 인쇄브라우저 인쇄로 정확한 용지 크기에 맞춰 출력합니다. 줄바꿈도 화면과 같습니다.한글 PDF글꼴을 부분 내장해 한글을 검색하고 복사할 수 있습니다. 열기 암호와 인쇄·복사 권한도 설정합니다(AES-256).양식 그대로 엑셀, HWPX셀 병합과 테두리를 살린 양식 그대로, 또는 한 행에 한 건씩 데이터로 저장합니다. CSV와 한/글 HWPX도 됩니다.워터마크와 엠보싱출력자와 출력 일시가 반복되는 보안 패턴, 종이에 눌러 찍은 듯한 돋움 직인.바코드 5종Code128, EAN-13, QR, DataMatrix, PDF417을 벡터로 그려 인쇄와 PDF에서도 선명하게 읽힙니다.차트막대, 가로 막대, 꺾은선, 영역, 원형, 도넛 차트를 보고서 데이터에 연결합니다.표, 교차표, 라벨마스터–디테일 문서를 위한 내부 표, 합계가 붙는 교차 집계, 여러 열로 찍는 라벨 용지.한국식 서식일금 ○○원정, 사업자등록번호, 전화번호, 한국식 날짜와 요일.그룹과 소계그룹 머리글·바닥글, 소계, 페이지 소계, 페이지 x / y, 그룹별 페이지 번호.양식에 맞는 표남은 공간을 빈 행으로 채우기, 반복 값 숨기기, 그룹 머리글과 첫 행 함께 두기.출력 이력인쇄·저장 직전에 이벤트가 옵니다. 출력 이력을 남기거나 출력을 막을 수 있습니다.JSON 보고서 정의보고서는 평범한 JSON 파일입니다. 버전 관리하고, 코드로 만들고, 서버에서 내려줄 수 있습니다.10만 건대량 목록도 수천 페이지로 나누고, 화면에 보이는 페이지만 그립니다.서버에서 생성renderPdf, renderXlsx로 브라우저 없이 Node·Deno·Bun 배치 작업에서도 같은 파일을 만듭니다.프레임워크와 전자정부 프레임워크외부 라이브러리 없는 자바스크립트 패키지 하나입니다. React·Vue·Svelte·Angular 컴포넌트가 npm에 있고, 전자정부 표준프레임워크(JSP) 연동 예제를 제공합니다.

무엇이 다른가요

일반적인 국산 리포팅 툴과 FreeReport를 비교했습니다.

일반적인 리포팅 툴FreeReport
설치PC마다 인쇄 모듈·뷰어를 설치하는 구성이 많음설치 없음, 웹 표준으로 동작
디자이너데스크톱 프로그램(Windows)브라우저에서 바로
양식 파일제품 전용 형식JSON
PDF·엑셀 생성대개 서버에서브라우저에서
가격가격 비공개, 프로젝트별 견적도메인당 연 50만 원 (개인 무료)

몇 줄이면 충분합니다

패키지를 설치하고, 높이가 정해진 영역에 보고서 정의와 데이터를 넘기면 끝입니다.

import { createViewer, createReport } from '@freereportjs/core';
import '@freereportjs/core/styles.css';

// a report definition is plain JSON (made in the designer or by hand)
const definition = await fetch('/reports/sales.json').then(r => r.json());

const viewer = createViewer(document.getElementById('viewer'), {
  definition,
  data: { rows },            // detail rows plus any other values
  params: { from: '2026-07-01' },
  lang: 'ko',
  onOutput: e => log(e),     // every print and export; return false to cancel
});

// without a viewer: straight to PDF or Excel
const report = createReport(definition, { rows });
await report.ready();
const pdf = await report.toPdf();       // Blob
const xlsx = await report.toXlsx('form');

자주 묻는 질문

FreeReport는 무엇인가요?

FreeReport는 웹 리포팅 툴입니다. 보고서 디자이너, 페이지 뷰어, 인쇄, PDF·엑셀·CSV 저장이 자바스크립트 패키지 하나에 들어 있습니다. 보고서는 제목, 페이지 머리글, 그룹, 상세, 요약, 페이지 바닥글 같은 밴드로 이루어진 JSON 정의입니다. 국내 업무 문서를 기준으로 만들었으며 OZ Report, ClipReport, UbiReport, Crystal Reports를 대신해 쓸 수 있습니다.

따로 설치해야 하는 것이 있나요?

없습니다. 디자이너, 뷰어, 인쇄, 저장이 모두 웹 표준으로 브라우저에서 동작하며 플러그인, ActiveX, 인쇄 모듈이 필요 없습니다. 창구나 사무실처럼 지정한 프린터로 바로 인쇄해야 하는 곳을 위해 서명된 Windows 프로그램을 선택 사항으로 제공합니다.

PDF에서 한글을 검색할 수 있나요?

네. 트루타입 글꼴(기본은 나눔고딕, 원하는 글꼴도 가능)을 부분 내장하므로 한글을 검색하고 복사할 수 있고, 어느 PC에서 열어도 똑같이 보입니다.

가격은 얼마인가요?

개인, 교육, 연구, 비상업적 용도는 무료입니다. 회사는 도메인당 연 500,000원, 또는 도메인당 900,000원에 영구 라이선스(1년 업데이트 포함)를 구매합니다. 부가세는 별도이며 개발자 수, 사용자 수, 출력 횟수에는 제한이 없습니다.

큰 보고서도 되나요?

네. 10만 건도 수천 페이지로 나누고, 뷰어는 화면에 보이는 페이지만 그립니다. 10만 건 데모에서 확인할 수 있습니다.

다른 리포팅 툴의 양식을 옮길 수 있나요?

아직 자동 변환 기능은 없습니다. 디자이너에서 다시 그리거나 JSON으로 작성해야 하며, 견적서·거래명세서·증명서 같은 일반 양식은 몇 시간이면 만들 수 있습니다.

React, Vue, 전자정부 프레임워크에서 쓸 수 있나요?

네. 코어 패키지는 지금도 어떤 프레임워크에서든 쓸 수 있습니다(아래 코드 참고). @freereportjs/react·vue·svelte·angular 패키지가 FreeReportViewer, FreeReportDesigner 컴포넌트를 제공하고, 전자정부 표준프레임워크(Spring + JSP) 프로젝트에 넣는 연동 예제도 제공합니다.