[{"id":"d1ffb4db-74d8-4220-a972-c13d6fa8123b","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"1ea0de02-4d95-4f9a-bd1e-e4f1e58e5146","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"cd911f7e-e532-41c5-b415-fd5a1a83b8d6","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"54a4a5be-ed96-43df-a901-6a53495a4ff7","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"fe055276-b12c-40ab-9569-c2d9ebd4f5b8","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"71be3f0b-8a29-45e8-8d43-4965d3e0897e","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"ea12b649-a786-495c-ad0f-7ef38ce94a9e","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"9582e49d-f693-4f0d-96b3-7f4accc2bb6e","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"a6f863bb-031a-44cc-8a12-fc91219e8c15","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"c5da505a-f378-4333-b85f-2429d057b519","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"7daee9d7-e908-4166-9d62-2ca3e93547fb","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"8659262c-9b4e-4e31-9c6c-b97d1d0e0740","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"966a73cf-5b72-4f4b-8939-e7a06e0863da","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"6c63e26a-a944-4aa9-a190-ecc8ac767287","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"3af6c981-53ee-41ba-8ef7-03efb56a8fff","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"8f1b28f2-c419-43fb-b765-5fde0a36fb08","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"d67bf68e-cb2e-4b6f-9253-68ca0ee46560","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"e23050c1-7dc0-4265-a2d9-eaaf938c2d35","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"c9c6aa74-7d95-41b4-9702-98774683bf0a","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"83a0368a-9a1a-4b31-8081-d2edc554d42f","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"0e562678-2dd4-4972-ab4d-e718f050accb","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"9965a8b8-f6c2-4727-a6d6-4cf12bd5b14f","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"e805fe27-20e5-4468-85b9-078665b18438","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"a1a9a9bc-d0b6-4d18-8abf-5c6f2a7cfa40","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"fdcc0c41-acb5-4465-9b66-7e06200a48c4","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"05d00001-6629-4aea-be2a-ddc570ca6a09","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]}]
보고서 실행 섹션에서 언급했듯이 PageReport
인스턴스의 run
메서드를 호출하면 PageDocument 클래스의 인스턴스로 실행되는 Promise 객체가 생성되어 보고서 출력을 인쇄하고 내보낼 수 있습니다.
보고서 출력을 인쇄하는 프로세스는 보고서를 HTML로 내보내고 브라우저에 내장된 인쇄 미리 보기 UI에서 결과를 여는 방식으로 수행됩니다. PageDocument 클래스
의 print
메드는 이 프로세스를 용이하게 하며 세 가지 선택적 인수를 옵션으로 제공합니다.
renderOptions
– 인쇄의 경우, undefined
으로 설정할 수 있습니다.
onProgress
– 보고서의 각 페이지가 HTML로 렌더링된 후 호출되는 콜백 함수입니다. 렌더링된 페이지 수에 해당하는 단일 숫자 인수를 허용해야 합니다.
checkCancel
– 보고서의 각 페이지가 렌더링된 후 호출되는 콜백 함수입니다. 인쇄 프로세스를 중단해야 하는지 여부를 나타내는 부울 값을 반환해야 합니다.
이러한 선택적 인수인 onProgress
와 checkCancel
을 활용하여 인쇄 작업의 진행 상황을 표시하고 Cancel
버튼 클릭과 같은 특정 사용자 이벤트에 대한 응답으로 인쇄 작업을 취소할 수 있는 사용자 정의 사용자 인터페이스를 구현할 수 있습니다. 아래 코드는 보고서를 인쇄하고 진행 상황에 대한 정보를 콘솔로 보냅니다.
import {Core} from "@mescius/activereportsjs";
const report = new Core.PageReport();
await report.load(`assets/Products.rdlx-json`);
const document = await report.run();
document.print(undefined, x=>console.log(`${x} pages ready`), ()=>{
return false;
});
ActiveReportsJS API
를 사용하면 보고서 출력을 각각 PdfExport
, HtmlExport
, 그리고 TabularDataExport
개체를 제공하는PDF
, HTML
또는 CSV
문서로 내보낼 수 있습니다.이들 모두는 Core 라이브러
의 일부입니다.
import {
PdfExport,
HtmlExport,
TabularDataExport,
} from "@mescius/activereportsjs";
각 내보내기 개체는 다음 네 가지 인수가 있는 exportDocument
메서드를 제공합니다.
source
– 위에서 설명한 PageDocument
클래스의 인스턴스입니다.
settings
– 내보낸 문서의 설정입니다. 이 인수는 각 내보내기 유형에 따라 다릅니다.
PDFExport.exportDocument
는 PdfSettings object 을 허용 합니다.
HtmlExport.exportDocument
는 HtmlSettings object 을 허용 합니다.
TabularDataExport.exportDocument
는 TabularDataSettings object 을 허용합니다.
onProgress
– 보고서의 각 페이지를 내보낸 후 호출되는 콜백 함수입니다. 내보낸 페이지 수에 해당하는 단일 숫자 인수를 허용해야 합니다.
checkCancel
– 보고서의 각 페이지가 렌더링된 후 호출되는 콜백 함수입니다. 내보내기 프로세스를 중단해야 하는지 여부를 나타내는 부울 값을 반환해야 합니다.
exportDocument
메소드는 각 내보내기 유형에 특정한 결과로 이행되는 Promise 객체를 반환합니다:
PDFExport.exportDocument
는 download
메서드를 사용하여 결과를 다운로드하거나 Blob 유형의 data 속성을 사용하여 결과를 저장할 수 있도록 하는 PdfExportResult 객체로 약속을 이행합니다.
HtmlExport.exportDocument
는 HtmlSettings
의 multiPage
속성 값에 따라 download
메서드를 사용하여 결과를 다운로드하거나 string
또는 Blob
인 data
속성을 사용하여 결과를 저장할 수 있는 HtmlExportResult 객체를 사용하여 약속을 이행합니다.
TabularDataExport.exportDocument
는 TabularDataSettings.csvSettings
의 outputType
속성 값에 따라 download
메서드를 사용하여 결과를 다운로드하거나 string
또는 Blob
인 data
속성을 사용하여 결과를 저장할 수 있는 TabularDataExportResult 객체를 통해 약속을 이행합니다.
다음은 각 내보내기 유형에 대한 코드 예제입니다.
import {
PdfExport,
HtmlExport,
TabularDataExport,
} from "@mescius/activereportsjs";
async function exportPdf(document: PageDocument){
const pdfSettings: PdfExport.PdfSettings = {
info: {
title: "Product List"
}
}
const result = await PdfExport.exportDocument(document, pdfSettings);
result.download("products.pdf");
}
async function exportHtml(document: PageDocument){
const htmlSettings: HtmlExport.HtmlSettings = {
title: "Product List",
multiPage: false
}
const result = await HtmlExport.exportDocument(document, htmlSettings);
result.download("products.html");
}
async function exportCSV(document: PageDocument){
const csvSettings: TabularDataExport.TabularDataSettings = {
csvSettings: {
colSeparator: ","
}
}
const result = await TabularDataExport.exportDocument(document, csvSettings);
result.download("products.csv");
}
async function onExport(){
const report = new Core.PageReport();
await report.load(reportUrl);
var document = await report.run();
exportHtml(document);
exportCSV(document);
exportPdf(document);
}